我之前在VS 2010中使用过实体数据模型,但现在我遇到了VS 2012的问题。 首先,现在2012年实体数据模型中有两个扩展名为.tt的新文件。 Designer.cs文件也是空的,并且有一条消息说明如何启用代码生成,但是当我启用代码生成时,它表示对象已经存在。
我也缺少CreateObjectSet();
using (MyEntities entitiesContext = new MyEntities())
{
var entitySet = entitiesContext.CreateObjectSet<T>();
}
不确定原因,但现在entitiesContext没有.CreateObjectSet();
我想知道是否有人可以清理正在发生的事情。
答案 0 :(得分: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.