我有一個自定義的DbContext類。 我有系統中的現有表。 我已經建立了一個基於POCO的系統。嘗試創建表的DbContext
當我嘗試爲表查詢DbSet時,它會嘗試創建表。 現在這個表已經存在於DB中,sql服務器會拋出異常。
如何禁止通過EF創建表?
我有一個自定義的DbContext類。 我有系統中的現有表。 我已經建立了一個基於POCO的系統。嘗試創建表的DbContext
當我嘗試爲表查詢DbSet時,它會嘗試創建表。 現在這個表已經存在於DB中,sql服務器會拋出異常。
如何禁止通過EF創建表?
把這個在您的DbContext執行:
// static constructor
static MyDbContext()
{
Database.SetInitializer<MyDbContext>(null);
}
當應用程序啓動(例如的global.asax.cs
Application_Start()
法)指示您要使用的DB創建策略:
Database.SetInitializer(new DropCreateDatabaseIfModelChanges<YourContext>());
Database
是System.Data.Entity
命名空間。
在使用new DropCreateDatabaseIfModelChanges<YourContext>()
的情況下,它會刪除數據庫並嘗試創建數據庫模式和POCO之間的更改。
我不想放棄數據庫,並再次重新創建。我只是不希望EF嘗試創建數據庫和表。 –
謝謝..這對我有用 –