Я реализую поиск, который будет принимать шесть возможных (но не обязательных) пользовательских данных, а затем попытаюсь сопоставить их с некоторыми объектами.
Я думаю, что проблема, с которой я столкнулся, заключается в том, что EF и SQL Server считают нули как две совершенно разные вещи.
Идея: выберите сущность, в которой columnA = (если columnA равно нулю, а columnA (или равно нулю), иначе searchTerm). Поисковые термины представляют собой сочетание целых и строк.
Некий код:
entities= (from c in context.Entities
where c.ColumnA == (searchTermA ?? v.ColumnA)
where c.ColumnB == (searchTermB ?? v.ColumnB)
select new
{
v.Property,
}).ToList();
Если все столбцы не содержат пустых значений, объекты возвращаются. Тем не менее, я не получаю ожидаемых результатов, если столбец имеет нулевые значения.
Как я могу обойти это?
Richard