回答

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