我尝试了几件事,但它不起作用。基本上,我想在EF MVC3上添加嵌套查询。
SQL查询:
从Book中的Book_PK中选择*(从库中选择Book_Ref) 其中Library_Ref ='18bd9526-f3e9-4d5b-86cd-ccfea64b6f7b')
Book_PK是Book
的主键 Book_ref是Book的外键Library_Ref只是过滤Book_ref
的属性
我有2个表:Book和Library,它们通过外键连接。
我只有一个输入,即id,但这不是Library的主键。 我试过了:
`
School.Models.Entities.SchoolAll db = new Models.Entities.SchoolAll(); // db consists whole database
var temp = db.Books.Where(e => e.Book_PK.Contains(db.Libraries.Where(f => f.Library_Ref == id))).ToList();
// where id is one of the field of Library`
每个图书馆实体可能有一个或可能是Book实体。因此,查询的结果应该是列表。我需要将此列表保存到一个变量中。任何人都可以帮助我吗?
答案 0 :(得分:0)
您可以使用Single方法而不是Where方式,如下所示
var temp = db.Books.Single(e => e.Book_PK.Contains(db.Libraries.Where(f => f.Library_Ref == id)));
答案 1 :(得分:0)
成功完成,转换到以下查询:
从Book中的Book_PK中选择*(从库中选择Book_Ref) 其中Library_Ref ='18bd9526-f3e9-4d5b-86cd-ccfea64b6f7b')
进入下面的实体框架:
db.Books.Where(y => y.Libraries.Any(r => r.Library_Ref == ID))。ToList()
感谢stackoverflow