我试图为下面的查询使用SelectQueryBuilder,但它并没有达到应有的效果。
我想要这样的查询字符串
SELECT * FROM CustomerData WHERE (CustomerType = 'SPC3' OR CustomerType = 'SPC2' OR CustomerType = 'SPC5') AND Country='UK'但我得到的是
SELECT * FROM CustomerData WHERE ((CustomerType = 'SPC3' OR CustomerType = 'SPC3') AND (CustomerType = 'SPC2' OR CustomerType = 'SPC2') AND (CustomerType = 'SPC5' OR CustomerType = 'SPC5')) AND country='UK'我的代码是:
var query = new SelectQueryBuilder();
query.SelectFromTable("CustomerData");
query.SelectAllColumns();
query.AddWhere("CustomerType", Comparison.Equals,"UK");
foreach (var selectedCustomerType in selectedCustomerList)
{
WhereClause whereClause = query.AddWhere("CustomerType", Comparison.Equals, selectedCustomerType);
whereClause.AddClause(LogicOperator.Or, Comparison.Equals, selectedCustomerType);
}
String queryStatement = query.BuildQuery();如何在语句本身中添加LogicOperator.Or?
谢谢。
发布于 2015-06-15 12:09:29
尝试使用AddWhere方法重载。它有level参数来决定条件嵌套到哪个级别。
我从来没有必要尝试这些水平,所以让我知道你会发现什么,我会尽力帮助更多的人:)
快乐编码
https://stackoverflow.com/questions/24807034
复制相似问题