直接使用EntitySet?

时间:2010-12-19 22:24:27

标签: entity-framework entity-framework-4 entityset objectset

我正试图围绕实体框架4中存在的所有类。我唯一感到困惑的是(到目前为止)是EntitySet。从我的.edmx文件生成的C#代码中的任何地方都不会提到EntitySet,只能在XML文件(.csdl,.msl,.ssdl)中提及。

ObjectSet似乎是EntitySet的包装器(虽然它也将EntitySet公开为公共属性。)在任何情况下,我将直接使用EntitySet吗?

1 个答案:

答案 0 :(得分:1)

来自MSDN

  

给定类型及其子类型的实体的逻辑容器。实体集映射到数据库中的表。

基本上,它是CSDL谈话​​ - 关于对象映射到哪个实体集。

您无需担心 - 您将使用ObjectSet<T>

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

获取奖金提示 - 如果可能,请使用IObjectSet<T>来促进单元测试(实现模拟测试 - 例如内存中的静态列表)。