EF5中的哪种方法负责创建数据库

时间:2013-05-14 13:12:14

标签: c# ef-code-first entity-framework-5 ef-database-first

我有几个问题:

  1. 在EF5代码第一个API中,哪个方法负责检查数据库是否退出,如果不是哪个方法创建数据库?

  2. 如果我首先使用EF代码我的DAL项目并且我希望EF生成其他数据库用于测试目的我可以使用ef吗?我已经更改了连接字符串中的初始目录,以检查它是否创建了其他数据库,但它没有并引发异常

  3. 通过使用ef Code-First或DataBase-First,我们最终拥有DbContext类,EF5我们怎么知道我们使用哪种方法进行内部操作?

  4. 感谢。

1 个答案:

答案 0 :(得分:0)

检查Api是否存在Context.Database.Exists();Context.Database.CreateIfNotExits();

只要您访问EF Context,它就会开始执行操作。 您可以通过默认行为来操纵事物。

上下文可以再次打开不同的数据库实例是。 您甚至可以使用它在SAME服务器上创建不同的DB。 需要仔细使用构造函数和相应的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] ​​