考虑两个表Bill和Product有多对多的关系。如何使用Entity Sql获取特定产品的所有账单?
答案 0 :(得分:3)
像这样的东西
SELECT B FROM [Container].Products as P
OUTER APPLY P.Bills AS B
WHERE P.ProductID == 1
将为每个Bill生成一行
另一种选择是这样的:
SELECT P, (SELECT B FROM P.Bills)
FROM [Container].Products AS P
WHERE P.ProductID == 1
哪个会为每个匹配的产品生成一行(在这种情况下只有一个) 并且该行中的第二列将包含一个嵌套的结果集,其中包含该产品的帐单。
希望这有帮助
亚历
答案 1 :(得分:0)
你需要像这样使用一些linq;
...
using (YourEntities ye = new YourEntities())
{
Product myProduct = ye.Product.First(p => p.ProductId = idParameter);
var bills = myProduct.Bill.Load();
}
...
这假设您已使用权利框架为您的数据构建模型。 bills变量将包含与您的产品对象相关的Bill对象集合。
希望它有所帮助。