作者:不可能爱你啊 | 来源:互联网 | 2023-10-11 06:16
有表A与表B
一对多
A的字段 L 连接到 B 的字段L
B有L和Data字段
问题是.
我想要取出 A表的值, 和B表对应于A表L的值的按Data排序的第一个值
linq又不能用一下方式:
from X in A
(from X in B).First()
select ...
这样的逻辑LINQ能造到吗..?
7 个解决方案
你的意思是两表join吗?
db.A.Join(db.B, a=>a.L, b=>b.L, (a,b)=>new{a,b}).Orderby(c=>c.b.Data).First();
我习惯用Lambda
不是....
在表A里面有表B的实体...
可以直接
var v = from A in DB.A
from B in A.B
select new {
A.字段
B.字段 }
这样连..
但是现在的问题是B有很多数据,我只是想要排序后的第一条数据..
linq不能
var v = from A in DB.A
(from B in A.B
orderby B.Data).First()
select new {
A.字段
B.字段 }
这样写...
把所有数据拿出来在排序的话比较浪费资源.因为表B里面的数据比较多,而我只是需要一行..
楼主试试这样:
var q = from a in DA.A select new{a.字段,a.B.OrderBy(o => o.Data).First().字段}
var v = from A in DB.A
join from B in A.B on A equals A.l=B.l
orderby B.Data.First()
select new {
A.字段
B.字段 }
var v = from A in DB.A
join from B in A.B orderby B.Data.First() on A equals A.l=B.l
select new {
A.字段
B.字段 }