2013-08-24 73 views
0

我創建了一個模型,沒有任何關係與其他表與EF。 當我添加它的背景和運行應用程序爲create database我在應用程序啓動的錯誤:模型生成過程中檢測到MVc錯誤與EF

一個或多個驗證錯誤: System.Data.Edm.EdmEntityType:的EntityType 'UrlHelper'沒有定義密鑰。定義此EntityType的關鍵字。 System.Data.Edm.EdmEntityType :: EntityType'RequestContext'沒有定義鍵。定義此EntityType的關鍵字。 System.Data.Edm.EdmEntityType :: EntityType'HttpContextBase'沒有定義鍵。定義此EntityType的關鍵字。 System.Data.Edm.EdmEntityType :: EntityType'Exception'沒有定義鍵。定義此EntityType的關鍵字。 System.Data.Edm.EdmEntityType :: EntityType'Type'沒有定義鍵。定義此EntityType的關鍵字。在我的Global.asax

代碼是象下面這樣:

public class MyInitializer 
: DropCreateDatabaseIfModelChanges<DBTa> 
    { 
    } 
    protected void Application_Start() 
    { 
     //for creating and initializing database 
     System.Data.Entity.Database.SetInitializer(new MyInitializer()); 
     **DBTa db = new DBTa();**//Error shows here 
     db.Database.Initialize(true); 
     // 

     AreaRegistration.RegisterAllAreas(); 

     RegisterGlobalFilters(GlobalFilters.Filters); 
     RegisterRoutes(RouteTable.Routes); 
    } 

,但是當我從應用程序去除模型我的問題解決了,但我需要這種模式。

請幫助 非常感謝

回答

0

您應該設置在'UrlHelper'模式「鍵」屬性。 如果您首先使用EF代碼 - 在您的模型中,您應該將屬性[Key]添加到其屬性之一。 如果您使用模型優先方法 - 在您的模型中,您應該將其中一個屬性標記爲主鍵。 如果您使用數據庫第一種方法 - 您應該在表中創建主鍵。

+0

非常感謝您的幫助我使用代碼first.but idont知道我應該添加屬性key.All類有主鍵。 – Raly

+0

我解決了我的問題。我用(公共類MyClass:控制器),它錯了,所以我改變它(公共類MyClass)。 – Raly