2012-03-14 61 views
1

我是實體框架工作代碼優先/數據庫優先和MVC的學生和初學者。 我正在使用第二個(DataBase First)。 我創建了我的數據庫,從數據庫生成模型。 我的問題是:實體框架工作數據庫優先初始化

我怎麼能初始化一些默認數據(數據庫)? 在代碼首先圖案,有一種叫做seed方法:

protected override void Seed(DatabaseContext context) 

是否有使用數據庫首先圖案此方法的等效?

回答

1

在數據庫中第一個接近該數據庫已經存在這樣您的應用程序不具有任何數據初始化。數據初始化僅在應用程序代碼創建數據庫時使用(代碼優先),這不是您的情況。

您必須簡單地把一些數據到數據庫或者通過使用本地SQL腳本或類似SQL Server Management Studio或Visual Studio的服務器資源管理器一些數據庫客戶端工具。

+0

感謝回答 目標是簡單地能夠在啓動時更新我的​​數據庫,如果有這樣的新表創建(通過更改我的上下文),而無需更新模型(。edmx)我的自我。 有點像使用類初始化(DropCreateDatabaseIfModelChanges)的種子方法 – user1235486 2012-03-14 16:08:36

+0

在這種情況下,請不要使用EDMX並首先使用代碼。簡單的數據庫首先說你的應用程序不能控制你的數據庫,因爲它不能播種它。種子也只會改變數據庫中的數據,而不是數據本身。 – 2012-03-14 16:26:08

0

是的,我使用的是Entity Framework Power Tools CTP1,您可以通過Extension Manager使用它。在創建edmx模型&安裝工具右鍵單擊項目,然後單擊「反向工程師代碼第一」,你會得到代碼第一模型的數據庫。然後你的數據庫已經有你需要從codefirst創建新數據庫並從你的前一個數據庫中導出數據的數據。如果你有興趣,我可以通過步驟展示它。

+0

謝謝!我是Interesed.I現在測試它,並向您發送反饋 – user1235486 2012-03-14 16:08:52

相關問題