2
考虑两个表Bill和Product之间存在多对多关系。如何使用Entity Sql获取特定产品的所有账单?多对多关系的实体Sql
考虑两个表Bill和Product之间存在多对多关系。如何使用Entity Sql获取特定产品的所有账单?多对多关系的实体Sql
你需要像这样使用一些linq;
...
using (YourEntities ye = new YourEntities())
{
Product myProduct = ye.Product.First(p => p.ProductId = idParameter);
var bills = myProduct.Bill.Load();
}
...
这假定您已经使用entitiy框架为您的数据建立模型。 票据变量将保存与您的产品对象相关的Bill对象的集合。
希望它有帮助。
像这样的事情
SELECT B FROM [Container].Products as P
OUTER APPLY P.Bills AS B
WHERE P.ProductID == 1
会产生一排每个比尔
另一种选择是这样的:
SELECT P, (SELECT B FROM P.Bills)
FROM [Container].Products AS P
WHERE P.ProductID == 1
将产生每个匹配产品一个行(这种情况只有一个) ,该行中的第二列将包含一个嵌套的结果集,其中包含该产品的账单。
希望这有助于
亚历
亚历克斯,我只是想谢谢你。 OUTER APPLY是我一直在寻找的关键,它解决了多对多连接(导航属性)中与左外连接相关的不同实体SQL问题。再次感谢你。 – CkH 2014-08-31 01:31:27