Я хочу получить результат, когда значения столбцов равны NULL, используя выражения LINQ
search.AddCriteria(x => x.LogStatus ==
Inventory.AffStatusToChar((EAffidavitLogStatus)byte.Parse(cmbLog.SelectedValue)));
public void AddCriteria (Expression<Func<T, bool>> criteria) {
if (_where == null) { _where = w => true; }
_where = And(criteria);
}
private Expression<Func<T, bool>> And (Expression<Func<T, bool>> expr) {
return Expression.Lambda<Func<T, bool>>(Expression.And(
_where.Body,
Expression.Invoke(expr, _where.Parameters.Cast<Expression>())
), _where.Parameters);
}
//This below part is use to execute the Linq
//IQueryable<T> result = db.GetTable<T>();
//result = result.Where(_where);
результат, где деталь выглядит как WHERE ([t0].[LogStatus]) = @p5)
вижу, я хочу IS NULL
Я хочу запрос, подобный этому
SQL query : `select * from xyz where abc is NULL`
но приведенное выше выражение LINQ преобразуется в
select * from xyz where abc=NULL
, который дает другой результат.
Кто-нибудь сталкивался с такой проблемой? как может IS NULL
в выражении LINQ достичь этого?