1

我之前在 VS 2010 中使用过实体数据模型,但现在我在 VS 2012 中遇到了问题。首先,现在在 2012 实体数据模型中有两个扩展名为 .tt 的新文件。此外,Designer.cs 文件是空的,并且有一条消息如何启用代码生成,但是当我启用代码生成时,它说对象已经存在。

我也错过了 CreateObjectSet();

 using (MyEntities entitiesContext = new MyEntities())
            {
                var entitySet = entitiesContext.CreateObjectSet<T>();

            }

不知道为什么,但现在entitiesContext 没有 .CreateObjectSet();

我想知道是否有人可以弄清楚发生了什么。

4

1 回答 1

3

VS 2012 中的新实体数据模型默认使用 T4 模板 (.tt) 文件,而不是以前用于代码生成的自定义工具。生成的上下文也基于较新的 DbContext API,而不是 Visual Studio 2010 使用的 ObjectContext API(这就是它没有该方法的原因 - DbContext API 中的等效方法是Set<T>)。T4 和 DbContext API 目前都是推荐使用 EF 的方法。

我当前的机器上没有 VS 2012,但您可以尝试删除 .tt 并打开老一代,如中所述.Desinger.cs.

于 2012-09-19T12:03:52.097 回答