2013-05-14 90 views
1

我有幾個問題:哪種方法EF5負責創建數據庫

  1. 在EF5代碼第一API,它的方法是在收費,如果數據庫退出檢查,如果情況並非如此,其方法創建數據庫?

  2. 如果我首先使用EF代碼,我的DAL項目和我想EF生成其他數據庫用於測試目的我可以通過使用ef來做到這一點?我已經更改了連接字符串中的初始目錄,以檢查它是否創建了其他數據庫,但是它沒有並拋出異常

  3. 通過使用ef Code-First或DataBase-First,我們終於有了DbContext類,EF5我們怎麼知道使用哪種方法進行內部操作?

謝謝。如果當您訪問EF背景下,開始做的事情存在Context.Database.Exists();Context.Database.CreateIfNotExits();

回答

0

API進行檢查。 您可以操縱事物的默認行爲。

上下文可以再次打開不同的數據庫實例是。 您甚至可以使用它在SAME服務器上創建不同的數據庫。 需要小心使用構造函數和相應的API.CONFIG設置。

<connectionStrings> 
<add name="YouCanHaveManyofTheese" 
    connectionString="Data Source=localhost;Initial Catalog=DIFFERENT DBNAME ;Integrated Security=True;MultipleActiveResultSets=True;App=EntityFramework" 
    providerName="System.Data.SqlClient" /> 

而且
退房Database.SetInitializer();

Ef中知道,如果它創建的數據庫,或者遷移數據庫。這些動作都記錄在這裏。 [DBO]。[__ MigrationHistory] ​​

+0

當我改變初始目錄序強制EF生成數據庫,我有登錄zhcon失敗用戶「XXX」意味着數據庫上不存在服務器 – 2013-05-22 17:00:02