我想使用链式linq。我在语法方面遇到了一些麻烦。
select * from APPLES
inner join BANANAS on APPLES.id = BANANAS.someid
我有:
var result = workspace.GetDataSource<APPLE>().Join(.......)
但我不确定加入位的内容。有人可以帮助我吗?
答案 0 :(得分:4)
怎么样:
var result = from a in workspace.GetDataSource<APPLE>()
from b in workspace.GetDataSource<BANANAS>()
where a.id == b.someid
select a;
或者如果您想使用连接表示法:
var result = from a in workspace.GetDataSource<APPLE>()
join b in workspace.GetDataSource<BANANAS>()
on a.id equals b.someid
select a;
注意,您可以将选择a更改为两个表中所需元素的投影。
不熟悉这种格式,但它会是这样的:
var result = workspace.GetDataSource<APPLE>().Join(workspace.GetDataSource<BANANAS>(),a=>a.id, b=>b.someid,(a,b) => a);