繁体   English   中英

如何使用实体框架代码优先方法正确创建数据库

[英]How to correctly create a database using entity framework code first approach

在尝试使用实体框架代码优先方法生成数据库之后,我仍然不确定正确的方法是什么,我能够生成数据库的唯一方法是使用迁移,因此在设置了所需的模型之后,我使用了包管理器并执行以下操作:

Enable-Migrations

接着:

Add-Migration Initial

最后:

Update-Database

我看过很多与此教程相似的教程:

首先将代码编码到新数据库

谈到设置模型,运行项目后,数据库完全不使用迁移就出现了,我很困惑,所以这是我的问题:

  1. 在using语句之后创建数据库吗? 所以在上面的教程中:

     using (var db = new BloggingContext()) 
  2. 迁移通常仅用于更新数据库吗?

  3. 您认为最好的方法是什么?

1.是否在using语句之后创建数据库? 所以在上面的教程中:

using (var db = new BloggingContext()) 

几乎可以正常工作,但是例如,您需要添加其他语法以使EF对数据库执行某些操作。

using (var db = new BloggingContext()) 
{
    db.YourDbSetProperty.Any();
}

2.迁移通常仅用于更新数据库吗?

是的,通过EF迁移,您将能够将对代码所做的更改应用于数据库,而无需删除并重新创建数据库。

但是它也可以用于生成数据库升级脚本。

3.您认为最好的方法是什么?

这主要是基于意见的,您可以选择任何一种方式,但是出于在本地计算机上进行开发的目的,我通常从代码中删除并重新创建数据库,而不使用迁移语法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM