使用谓词生成器的MySQL不工作?

使用谓词生成器的MySQL不工作?,mysql,asp.net-mvc-3,predicatebuilder,Mysql,Asp.net Mvc 3,Predicatebuilder,我正在开发一个基于这3个字段的小过滤器。我还在MVC3项目中使用MySQL连接器 我找到了一个漂亮的谓词生成器。但它似乎不适用于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

我正在开发一个基于这3个字段的小过滤器。我还在MVC3项目中使用MySQL连接器

我找到了一个漂亮的谓词生成器。但它似乎不适用于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();
var predicate=PredicateBuilder.False();
if(OrderID==0)
谓词=predicate.And(x=>x.OrderID==9)//例如,该顺序存在于数据库中
var result=(从db.Order中的x选择x).AsExpandable()
.Where(谓词).ToList();

但是
结果
包含0个元素。为什么?

因为你从false开始,并且正在使用,你总是会得到false。改为从True开始:

var predicate = PredicateBuilder.True<Order>();
var predicate=PredicateBuilder.True();