1

我有一些问题:

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

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

  3. 通过使用 ef Code-First 或 DataBase-First,我们终于有了 DbContext 类,EF5 怎么知道我们使用了哪个方法来执行它的内部操作?

谢谢。

4

1 回答 1

0

用于检查是否存在的 APIContext.Database.Exists();Context.Database.CreateIfNotExits();

只要您访问 EF 上下文,它就会开始做事。您可以使用默认行为来操纵事物。

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

于 2013-05-16T16:32:51.810 回答