首页 > 解决方案 > 如何在 Dapper Extension 中编写“不等于”子句?

问题描述

我想在简洁的扩展中创建下面的 SQL 查询。

SELECT DISTINCT Description FROM tblPeople WHERE ID = 2 AND
 (AddressTown IS NOT NULL AND AddressTown<>'') ORDER BY Description ;

到目前为止我已经尝试过:

PredicateGroup pgMain = new PredicateGroup 
  { Operator = GroupOperator.And, Predicates = new List<IPredicate>() };
pgMain.Predicates.Add(Predicates.Field<tblPeople >(f => f.ID, Operator.Eq, 2));  
var peopleList = connection.GetList<tblPeople>(pgMain);

标签: dapperdapper-extensions

解决方案


您可以使用最后一个bool not参数。这是可选参数,默认值为false.

因此,您的新代码应如下所示:

pgMain.Predicates.Add(Predicates.Field<tblPeople>(f => f.ID, Operator.Eq, 2, true));

观察true上面代码中最后一个参数的值。

有关详细信息,请参阅此答案。


推荐阅读