2012-11-04 98 views
1

我有一個自定義的DbContext類。 我有系統中的現有表。 我已經建立了一個基於POCO的系統。嘗試創建表的DbContext

當我嘗試爲表查詢DbSet時,它會嘗試創建表。 現在這個表已經存在於DB中,sql服務器會拋出異常。

如何禁止通過EF創建表?

回答

1

把這個在您的DbContext執行:

// static constructor 
static MyDbContext() 
{ 
    Database.SetInitializer<MyDbContext>(null); 
} 
+0

謝謝..這對我有用 –

2

當應用程序啓動(例如的global.asax.csApplication_Start()法)指示您要使用的DB創建策略:

Database.SetInitializer(new DropCreateDatabaseIfModelChanges<YourContext>()); 

DatabaseSystem.Data.Entity命名空間。

在使用new DropCreateDatabaseIfModelChanges<YourContext>()的情況下,它會刪除數據庫並嘗試創建數據庫模式和POCO之間的更改。

+0

我不想放棄數據庫,並再次重新創建。我只是不希望EF嘗試創建數據庫和表。 –

相關問題