當您正在編寫一個涉及兩個表/實體的linq查詢時,您已經在實體框架數據模型中定義了它們之間的關係,您是否必須在查詢中定義連接或者是否存在使用已定義關係的不同語法?Linq到兩個表的實體
var q =
from c in categories
join p in products on c equals p.Category into ps
select new { Category = c, Products = ps };
否則在EF模型中定義關係有什麼意義?
我有我的兩個實體之間的導航屬性設置,但關係是1> 0..1,當我試圖寫任何類型的涉及這兩個linq查詢它是拋出一條錯誤消息,說:「類型推斷失敗打電話給'SelectMany'「。我是否在做錯誤的事情,閱讀有人建議使用實體引用的錯誤,但我不知道這是否屬實? – suggy1982 2011-06-10 22:07:44
@ suggy1982你可以在你的問題中發佈一個LINQ查詢的例子嗎? – Clayton 2011-06-10 22:11:39
實體不同於我原來的問題,供應商實體是PK&DirectSupplier實體是FK.I想要返回直接供應商的供應商。 VS正在強調「s.DirectSupplier」,並且在源類型爲「System.Data.Objects.ObjectSet」的查詢表達式的後續from子句中不允許出現「TransactionScopeTest.DirectSupplier類型的表達式」 'SelectMany'中的類型推斷失敗「 var q =(從s in db.Suppliers from d in s.DirectSupplier select d); –
suggy1982
2011-06-10 22:31:33