2016-06-28 27 views
1

因此,遵循這個例子(https://msdn.microsoft.com/en-us/data/jj193542),我能夠手動輸出實體類和DbContext類,從頭開始創建一個新的數據庫。代碼優先 - 如何以編程方式生成DbContext和實體?

這一切都很好,但是,我需要以編程方式創建DbContext和實體(從構建的提供元數據的程序集中),而不是手動輸入它們。然後,我需要在編譯或運行時在SQL中動態創建數據庫,而不是以編程方式添加記錄(如上面鏈接中的示例所示)。

這是可能的Code-First方法嗎?

+0

因此,使用t4模板我能夠包含我的程序集並生成DbContext和Entity類。問題是我仍然需要以編程方式打開DbContext,創建一個新的空實體並添加它,然後調用db.SaveChanges()以便在SQL中創建數據庫和表!必須有另一種方法來創建數據庫!任何人? – jjf1978

+1

Database.Initialize將創建數據庫。 https://msdn.microsoft.com/en-us/library/system.data.entity.database.initialize(v=vs.113).aspx –

+0

這樣做,謝謝先生。 – jjf1978

回答

0

現在解決了。要生成DbContext和實體,我使用了T4模板(有關T4模板的更多信息,請參閱:https://msdn.microsoft.com/en-us/data/gg558520.aspx),然後只需調用Database.Initialize(false)強制數據庫在應用程序(本例中爲控制檯應用程序)執行時創建。

 using (var db = new MyContext()) 
     { 
      db.Database.Initialize(false); 
     } 
相關問題