UnionAll select中存在子查询 返回
var
q1=db.Queryable<Order>().Select(it =>
new
{ id=it.Id, detalils = SqlFunc.Subqueryable<OrderDetails>().where().ToList});
var
q2 = db.Queryable<Order>().Select(it =>
new
{ id = it.Id, detalils = SqlFunc.Subqueryable<OrderDetails>().where().ToList} });
db.UnionAll(q1, q2).ToList();
这里面的detalils 没有生效
热忱回答(8)
-
fate sta VIP02024/4/2
db.UnionAll(q1, q2)
.Select(it=>new xx{
子查询要写到这儿
}).ToList();
0 回复 -
steve VIP02024/4/2
但是我q1和q2 子查询的where条件不一样
q1的子查询where(it => it.a = '1')
q2的子查询where(it => it.a = '2')
0 回复 -
steve VIP02024/4/2
var
q1= db.Queryable<Order>().Select(it =>
new
{ id=it.Id, detalils = SqlFunc.Subqueryable<OrderDetails>().where(d => d.oid = it.id).ToList});
var
q2 = db.Queryable<Order>().Select(it =>
new
{ id = it.Id, detalils = SqlFunc.Subqueryable<OrderDetails>().where(d => d.ooid = it.id).ToList} });
q1是用oid关联,q2是用ooid关联
0 回复 -
steve VIP02024/4/2
有办法么
0 回复 -
fate sta VIP02024/4/2
都 说写到后面了 只是把思路换一下
0 回复 -
steve VIP02024/4/2
_db.UnionAll(inquery, outquery)
.Select(t => new output(){
Id = t.Id.SelectAll(),
charges = SqlFunc.Subqueryable<Charge>()
.Where(it => it.c_bid == t.Id || it.c_outid = t.id)
}
我是写到unionAll里面了,但是这里子查询的条件有点差别,如果是inquery,我需要用 c_bid关联,如果是outquery,我想用c_outid关联,就这里我没搞清楚咋写
0 回复 -
fate sta VIP02024/4/3
你不用想着什么关联,你反正union all 之前把要查询的都用SELECT查询出来
UNION ALL有了这些支撑在写 SELECT SUBQUERY
0 回复 -
steve VIP02024/4/4
我写在SUBQUERY里面,这种写法会报错
0 回复