繁体   English   中英

实体框架多对多LINQ查询

[英]Entity Framework Many-to-Many LINQ Query

我有两个具有多对多关系的模型:

ExampleSample 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;

https://smehrozalam.wordpress.com/2010/06/29/entity-framework-queries-involving-many-to-many-relationship-tables/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM