1
我遇到了這個反覆出現的問題,我正在使用舊數據庫和linq到使用固定長度的char數據類型的sql。修剪字符串如果在Linq中不爲空
當我返回字符串它總是有填充的結束,如果我想在SELECT語句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();
有更好的方法?我可以在數據庫上下文中自動修剪字符串嗎?
更好的計算策略是使用VARCHAR而不是char數據類型...並設置爲默認值「」數據庫中的表... –
不幸的是我沒有這樣的選擇:) – Andrew
你可以寫一個SQL Server自定義函數,但在代碼中保存很少的代碼 – DrKoch