在VS 2012中使用实体数据模型



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

我也缺少 CreateObjectSet();

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

不知道为什么,但现在实体上下文没有 .CreateObjectSet();

我想知道是否有人可以澄清正在发生的事情。

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

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

最新更新