回答

0

你需要像这样使用一些linq;

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

这假定您已经使用entitiy框架为您的数据建立模型。 票据变量将保存与您的产品对象相关的Bill对象的集合。

希望它有帮助。

3

像这样的事情

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 

将产生每个匹配产品一个行(这种情况只有一个) ,该行中的第二列将包含一个嵌套的结果集,其中包含该产品的账单。

希望这有助于

亚历

+0

亚历克斯,我只是想谢谢你。 OUTER APPLY是我一直在寻找的关键,它解决了多对多连接(导航属性)中与左外连接相关的不同实体SQL问题。再次感谢你。 – CkH 2014-08-31 01:31:27