我正在开发基于3个字段的小型过滤。我也在我的MVC 3项目中使用MySQL Connector。
我找到了一个漂亮的PredicateBuilder http://www.albahari.com/nutshell/predicatebuilder.aspx。但似乎没有使用MySQL
var predicate = PredicateBuilder.False<Order>();
if(OrderID == 0)
predicate = predicate.And(x => x.OrderID == 9); //an example, that order exist in the DB
var result = (from x in db.Order select x).AsExpandable()
.Where(predicate).ToList();
但result
包含0个元素。为什么?
答案 0 :(得分:1)
因为你从false开始并且正在使用AND,所以你总是会弄错。以True开头:
var predicate = PredicateBuilder.True<Order>();