无实体查询中where条件的or要怎么写 返回
SqlSugar
沟通中
5
518
悬赏:0 飞吻
db.Queryable<object>().AS("测试表").Where().ToDataTable();
用的上方的方式,想实现一个SQL:select * from 测试表 where 列1='A' or 列2='B'
无实体的方式要怎么实现这个or
热忱回答(5)
-
fate sta VIP0
1个月前db.Queryable<object>().AS("测试表").Where(“ 1='A' or 列2='B' ”).ToDataTable();
0 回复 -
✎森ꦿོ森ꦿོএ VIP0
1个月前@fate sta:这样就没法支持多库了吧
0 回复 -
fate sta VIP0
1个月前0 回复 -
✎森ꦿོ森ꦿོএ VIP0
1个月前感谢,实现了
var a = new ConditionalModel { FieldName = "列1", FieldValue = "A", ConditionalType = ConditionalType.Equal, }; var b = new ConditionalModel { FieldName = "列2", FieldValue = "B", ConditionalType = ConditionalType.Equal }; var wheres = new List<IConditionalModel>(); wheres.Add(new ConditionalCollections() { ConditionalList = new List<KeyValuePair<WhereType, ConditionalModel>> { new KeyValuePair<WhereType, ConditionalModel> (WhereType.Or, a), new KeyValuePair<WhereType, ConditionalModel> (WhereType.Or, b), } }); DataTable dt = db.Queryable<object>().AS("测试表").Where(wheres).ToDataTable();0 回复 -
✎森ꦿོ森ꦿོএ VIP0
1个月前@fate sta:where (表名='A' and 列名='B') or (表名='C' and 列名='D')
上面这种条件要怎么写啊?我尝试使用下面的方法失败了,主要是ConditionalCollections只支持ConditionalModel类型而不是IConditionalModel接口
var a = new ConditionalModel { FieldName = "表名", FieldValue = "A", ConditionalType = ConditionalType.Equal, }; var b = new ConditionalModel { FieldName = "列名", FieldValue = "B", ConditionalType = ConditionalType.Equal }; var c = new ConditionalModel { FieldName = "表名", FieldValue = "C", ConditionalType = ConditionalType.Equal, }; var d = new ConditionalModel { FieldName = "列名", FieldValue = "D", ConditionalType = ConditionalType.Equal }; var wheres = new List<IConditionalModel>(); var a1 = new ConditionalCollections() { ConditionalList = new List<KeyValuePair<WhereType, ConditionalModel>> { new KeyValuePair<WhereType, ConditionalModel> (WhereType.And, a), new KeyValuePair<WhereType, ConditionalModel> (WhereType.And, b), } }; var a2 = new ConditionalCollections() { ConditionalList = new List<KeyValuePair<WhereType, ConditionalModel>> { new KeyValuePair<WhereType, ConditionalModel> (WhereType.And, c), new KeyValuePair<WhereType, ConditionalModel> (WhereType.And, d), } }; var conditional = new ConditionalTree() { ConditionalList = new List<KeyValuePair<WhereType, IConditionalModel>> { new KeyValuePair<WhereType, IConditionalModel> (WhereType.Or, a1), new KeyValuePair<WhereType, IConditionalModel> (WhereType.Or, a2), } }; wheres.Add(conditional); DataTable dt = db.Queryable<object>().AS("sys_列数据").Where(wheres).ToDataTable();0 回复