Làm cách nào tôi có thể chỉ định điều kiện trong trường hợp vị từ trong LINQ mà không nhận ngoại lệ tham chiếu null. Ví dụ, nếu q
là một IQueryable thế nào có thể tôi thích:Trường hợp Predicates trong LINQ
Expression<Func<ProductEntity,bool>> predicate = p => !search.CategoryId.HasValue || (search.CategoryId.HasValue && search.CategoryId == p.CategoryId);
var q2 = q.Where(predicate);
Đây search
là một đối tượng chứa điều kiện tìm kiếm có thể có thể có hoặc không có thể được thiết lập như search.CategoryId có thể không được thiết lập, nhưng nếu nó là Tôi muốn nhận được các sản phẩm được thiết lập bởi điều kiện đó.
Khi tôi làm điều này, tôi nhận được ngoại lệ tham chiếu null.