Tôi bắt đầu sử dụng LinqKit 's PredicateBuilder để tạo vị ngữ bằng các điều kiện HOẶC không thể có với biểu thức LINQ.LinqKit PredicateBuilder trả về tất cả hoặc không phải hàng
Vấn đề tôi đang phải đối mặt là nếu tôi bắt đầu với PredicateBuilder.True<MyEntity>()
nó trả về tất cả hàng và nếu tôi bắt đầu với PredicateBuilder.False<MyEntity>()
nó trả phi hàng, ngoài những gì biểu hiện tôi sử dụng! xem mã bên dưới:
var pre = PredicateBuilder.True<MyEntity>();
pre.And(m => m.IsActive == true);
using (var db = new TestEntities())
{
var list = db.MyEntity.AsExpandable().Where(pre).ToList();
dataGridView1.DataSource = list;
}
Nó sẽ trả về hàng có IsActive == true, nhưng nó trả về tất cả các hàng!
Tôi đã thử tất cả các kết hợp có thể có của PredicateBuilder.True
| PredicateBuilder.False
với And
| Or
phương pháp, không hoạt động!
OMG !! Đó là một sai lầm ngớ ngẩn. Tôi đã mắc sai lầm tương tự về phương pháp 'string.Replace' 3 năm trước !!! Cảm ơn nhiều. – Ashkan
Cảm ơn bạn đã làm rõ – leen3o