Entity Sql for a Many to Many relationship

半腔热情 提交于 2019-12-11 01:25:14

问题


Consider two tables Bill and Product with a many to many relationship. How do you get all the bills for a particular product using Entity Sql?


回答1:


You need to use some linq like this;

...
using (YourEntities ye = new YourEntities())
{
   Product myProduct = ye.Product.First(p => p.ProductId = idParameter);
   var bills = myProduct.Bill.Load();       
}
...

This assumes that you have used the entitiy framework to build a model for you data. The bills variable will hold a collection of Bill objects that are related to your product object.

Hope it helps.




回答2:


Something like this

SELECT B FROM [Container].Products as P
OUTER APPLY P.Bills AS B
WHERE P.ProductID == 1

will produce a row for each Bill

Another option is something like this:

SELECT P, (SELECT B FROM P.Bills)
FROM [Container].Products AS P
WHERE P.ProductID == 1

Which will produce a row for each matching Product (in this case just one) and the second column in the row will include a nested result set containing the bills for that product.

Hope this helps

Alex



来源:https://stackoverflow.com/questions/750719/entity-sql-for-a-many-to-many-relationship

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!