原帖请看:
https://www.donet5.com/Ask/9/23604
,
帖子里的问题解决了,但是代码变化一下,还是有问题,最后还是会多出个"AND"
情况1:
conditions.Add(new ConditionalCollections
ConditionalList = new List<KeyValuePair<WhereType, ConditionalModel>>
// 这里变成WhereType.Or,会输出:SELECT `Id`,`Email`,`UserType` FROM `AppUser` WHERE ( `Email` LIKE N'%aaa%' OR ( AND UserType = 1 ) )
new KeyValuePair<WhereType, ConditionalModel>(WhereType.Or, conditionUserType)
});
情况2:
var conditions = new List<IConditionalModel>();
// 把下面这句话注释掉,会输出 SELECT `Id`,`Email`,`UserType` FROM `AppUser` WHERE ( ( AND UserType = 1 ) )
// conditions.Add(conditionEmail);
conditions.Add(new ConditionalCollections
ConditionalList = new List<KeyValuePair<WhereType, ConditionalModel>>
new KeyValuePair<WhereType, ConditionalModel>(WhereType.And, conditionUserType)