2010-12-19 47 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>方便单元测试(实现一个模拟的一个 - 例如内存中的静态列表)。