2010-12-19 44 views
0

我試圖圍繞實體框架4中出現的所有類包圍我的頭。唯一一個讓我困惑的(到目前爲止)是EntitySet。從我的.edmx文件生成的C#代碼中,只有XML文件(.csdl,.msl,.ssdl)中才會提及EntitySets。直接使用EntitySet?

ObjectSet似乎是EntitySet的一個包裝(雖然它也暴露了EntitySet作爲公共屬性)。是否有任何情況下我將直接與EntitySets一起使用?

回答

1

MSDN來自:

對於給定類型及其亞型的實體的邏輯容器。實體集映射到數據庫中的表。

本質上,它是CSDL談話​​ - 關於對象映射到哪個「集合」實體。

你不必擔心它 - 你會ObjectSet<T>合作:

var orders = ctx // ObjectContext 
      .Orders // ObjectSet<Order> 
      .SingleOrDefault(); // Order 

對於獎金尖 - 如果可能的話,使用IObjectSet<T>方便單元測試(實現一個模擬的一個 - 例如內存中的靜態列表)。