我正在實施一個搜索,將採取六個可能的(但不是必需的)用戶輸入,然後嘗試將它們匹配到一些實體。Linq到實體搜索算法
我認爲我遇到的問題是EF和SQL Server認爲空值是兩個完全不同的東西。
想法:選擇一個實體,其中columnA =(如果columnA爲null,則columnA(或null)else searchTerm)。搜索條件是整數和字符串的混合。
一些代碼:
entities= (from c in context.Entities
where c.ColumnA == (searchTermA ?? v.ColumnA)
where c.ColumnB == (searchTermB ?? v.ColumnB)
select new
{
v.Property,
}).ToList();
如果所有列不包含空值,實體返回。但是,如果列中有空值,我不會得到預期的結果。
我該如何解決這個問題?
理查德
哪裏了'v'從何而來?它應該是'c'嗎? –
是的,都是一樣的.. e's,v's,c's ...他們無處不在.. – Richard