저는 고정 된 길이의 char 데이터 유형을 사용하는 sql 레거시 데이터베이스 및 linq로 작업하는이 재발하는 문제를 보게됩니다. 나는 문자열을 반환하는 경우Linq에서 null이 아닌 경우 트림 문자열
은 항상 마지막에 패딩을 가지고 내가 선택 성명에서 두 문자열을 CONCAT하려면 항상 예를 들어, null가 아닌 경우 그렇게 전에 확인해야합니다
return (from person in personRepository.Get(p => p.FIRSTNAME.StartsWith(firstName)
|| p.SURNAME.StartsWith(surname) || p.DOB == dob)
select new PersonSearchModel
{
FullUserName = (person.SURNAME ?? "").Trim() + ", "
+ (person.FIRSTNAME ?? "").Trim() + " "
+ (person.MIDDLENAME ?? "").Trim()
}).ToList();
가 있는가 더 나은 접근법? 문자열을 자동으로 자르기 위해 데이터베이스 컨텍스트에서 사용할 수 있습니까?
더 나은 approch 오히려 문자 데이터 형식보다 VARCHAR를 사용합니다 ... 그리고 설정 기본값은 ""데이터베이스 테이블에 ... –
불행하게도 나는 그 옵션 : – Andrew
당신은 쓸 수 권한이없는 SQL Server 사용자 지정 함수, 코드에 작은 저장을위한 많은 노력이 필요합니다. – DrKoch