2013-05-21 71 views
1

這是一個noob問題,我實際上有點尷尬,無法自己弄清楚,誰知道從LinqToSQL到EF的過渡將充滿細微差別喜歡這個。由我的EF模型生成的默認代碼有錯誤

基本上我所做的就是

1>創建使用的Visual Studio 2012服務器資源管理器只有一個表MusicStore SQL數據庫。

2>然後,我添加一個新的ADO.Net Entity Data Modeledmx,並使用在步驟1中

這指向我的數據庫嚮導生成它給我MusicStore表的圖。現在,如果將屬性中的Code Generation Strategy更改爲Default而不是none,則這是在MusicStoreModel.Designer.cs中生成的代碼。

然而,在 public MusicStoreEntities() : base("name=MusicStoreEntities", "MusicStoreEntities")

我得到的has some invalid arguments

我在這裏錯過了什麼?參考?任何幫助不勝感激。

public partial class MusicStoreEntities : ObjectContext 
{ 
    #region Constructors 

    /// <summary> 
    /// Initializes a new MusicStoreEntities object using the connection string 
    ///found in the 'MusicStoreEntities' section of the application 
    ///configuration file. 
    /// </summary> 
    public MusicStoreEntities() : base("name=MusicStoreEntities", "MusicStoreEntities") 
    { 
     // Also getting a compilation error at the line below 
     this.ContextOptions.LazyLoadingEnabled = true; 
     OnContextCreated(); 
    } 

回答

1

這是設計。請參閱以下Microsoft官方位置鏈接:Entity Framework 5 Code Generation Strategy set to DEFAULT causes errors on all properties of entities

(...)的原因,你看到這些編譯錯誤是因爲你 被重新啓用舊的代碼生成不禁止新 T4基於代碼生成。這意味着生成兩組類別 。本頁提供了有關如何恢復到 ObjectContext代碼生成的詳細信息 - http://msdn.microsoft.com/en-us/data/jj556581

+1

太好了。根據修復它的鏈接刪除兩個.tt文件。 A +++ –