在我的数据库中有三个表:
在我的实体模型中,我只有两个实体:
TableA
{
long IDTableA;
ICollection<TableB> TableB;
}
TableB
{
long IDTableB;
ICollection<TableA> TableA;
}
我想知道侯可以做两个表之间的连接和在哪里的条件,这样的事情:
select TableA.*
from TableA, TableB, TableAB
where TableA.IDTableA = TableAB-IDTableAB
and TableB.IDTableB = TableAB.TableB
and Table.MyField > 10
我知道如何使用查询语法来做到这一点,但我想知道使用linq流利的wat。
感谢。
答案 0 :(得分:1)
回答提示: How to join with an or clause in Fluent LINQ
流利语法
var qJoin = context.User.SelectMany(
u => context.Hierarchy
.Where(h => u.OrganisationId == h.OrganisationId)
,(u, h) => new { u, h });
查询语法
var qJoin = from u in context.User
from h in context.Hierarchy
where u.OrganisationId == h.OrganisationId
select new { u, h };