![](/img/trans.png)
[英]Query a many-to-many relationship with linq/Entity Framework. CodeFirst
[英]Entity Framework Many-to-Many LINQ Query
我有两个具有多对多关系的模型:
Example
和Sample
。 EF在数据库中创建了三个表:
Examples
Samples
ExampleSamples
我试图从ExampleSamples
选择所有示例,其中Samples ID在Sample ID列表中。
我该如何完成?
这就是我要做的方式:
var sampleids = new int[]{1,2,3};
var examples = db.Examples.Where(e=>e.Samples.Any(s=>sampleids.Contains(s.id));
您也可以执行“相交”而不是“任何/包含”,也可以通过SelectMany进行,但是我认为这是最容易理解的。
这似乎对很多人都有效,其中连接列表仅包含多对多两个表中的PK:
int[,] courseIDs = new int[,] { 1,2,3 };
var students =
from s in dc.Students
from c in s.Courses
where courseIDs.Contains(c.CourseID)
select s;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.