2012-10-17 83 views
0

我試圖使用實體框架代碼第一種方法連接到SQL Azure Federation。當我嘗試寫入聯邦表時,EF會拋出一個錯誤,指出「數據庫中已有一個名爲[pluralized table name]的對象」EF Code First在SQL Azure Federation中創建參考表而不是聯合表

我得到此錯誤是因爲我在運行應用程序代碼之前創建了聯合表。如果我刪除表格,那麼EF會爲我創建它們而不會拋出異常,但是這次它們不會被聯合。他們將成爲參考表。

我該如何解決這個問題?我可以先阻止EF代碼嘗試創建表嗎?

回答

0

我自己找到答案。

class CreateDatabaseIfNotExists<TContext> : IDatabaseInitializer<TContext> where TContext : DbContext 
{ 
    public void InitializeDatabase(TContext context) 
    { 
    } 
} 

而且我把它在我的DbContext類,像這樣:

static EVENTContext() 
{ 
    Database.SetInitializer(new CreateDatabaseIfNotExists<EVENTContext>()); 
}