1

我已經使用實體數據模型與2010年以前VS,但現在我有VS 2012 首先,現在在2012年實體數據模型的麻煩有兩個新文件延期。此外,Designer.cs文件是空的,並且具有消息如何啓用代碼生成,但是當我確實啓用代碼生成時,它說對象已經存在。在VS使用實體數據模型與.TT 2012

我也錯過了CreateObjectSet();

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

      } 

不知道爲什麼,但現在entitiesContext沒有.CreateObjectSet();

我不知道是否有人能搞清楚到底是怎麼回事。

回答

3

默認在VS 2012中新的實體數據模型使用T4模板(.TT)文件而不是代碼生成前自定義工具。產生的背景也基於新的DbContext API,而不是由Visual Studio 2010(這就是爲什麼它沒有方法的原因 - 中的DbContext API的等效方法是Set<T>)使用ObjectContext的API。 T4和DbContext API都是目前推薦的使用EF的方法。

我沒有VS 2012我當前的計算機上,但你可以嘗試是同時刪除.TT和在.Desinger.cs.

+0

是的,你是正確的描述打開老一代。刪除tt文件允許我使用舊的對象模型。 – user1662812