我在我的模型中以多对多关系获得了 2 个相互关联的实体。
只有 2 个表我知道在 db 中有 3 个表在 SQL 中我可以尝试这样的事情。
select *
from table1
where table1.id in (select idTable1 from middleTable)
如何使用 Entity Framework 和 Linq 做到这一点?
我在我的模型中以多对多关系获得了 2 个相互关联的实体。
只有 2 个表我知道在 db 中有 3 个表在 SQL 中我可以尝试这样的事情。
select *
from table1
where table1.id in (select idTable1 from middleTable)
如何使用 Entity Framework 和 Linq 做到这一点?
我用这样的东西解决我的问题
container.Table.Where(x=> x.TableRealed.any(y=> x.column == value)).ToList()
如果您让实体设计器为您生成模型,它可以“隐藏”多对多关系的“中间表”,只要该中间表只包含具有关系(并且这些 id 是主键)。
生成模型后,您将在关系的“两侧”拥有集合属性。例如,我有两张表,People 和 Houses,它们具有多对多的关系。如果我已经正确设置了所有内容,那么每个Person
对象都会有一个属性Houses
,每个House
对象都会有一个属性People
。
希望这是有道理的。