2009-09-02 36 views
2

它實際上是什麼意思的術語「實體」在LINQ?LINQ關係(燃燒的問題)

在談論LINQ時,EntitySet和EntityRef有什麼區別?

你能舉一個真實世界的例子嗎?像訂單和OrderItems等?

回答

4

在Linq-to-SQL的上下文中,實體基本上只是指可以存儲在數據庫中的對象。請注意,該術語有時更狹窄地使用,例如在領域驅動設計中。

EntitySet表示對象與一組其他對象的關係,而EntityRef表示與單個其他對象的關係。換句話說,如果你在兩類對象之間有多對一的關係,一端將由一個EntitySet表示,另一端由一個EntityRef表示。

+0

你能舉一個真實世界的例子嗎?像訂單和OrderItems等? – anonymous

+0

通常,您的訂單類將具有名爲EntitySet 類型的Items的屬性,並且您的OrderItem類將具有名爲Order類型Order的屬性。但是,在內部,OrderItem類在實現訂單屬性時使用類型爲EntityRef 的變量。這使Linq能夠支持延遲加載,即直到您訪問該屬性時才加載相關對象。 –

+0

什麼情況下的多對多關係?都會有'EntitySet'? – dotNETbeginner