EF Core 3.1 是否支持数据库优先方法?

2023-11-21

我们正在移植一个ASP.NET MVC 4.x申请到ASP.NET Core 3.1。当前应用程序正在使用EF 6.xDB优先方法。作为此迁移的一部分,我们将使用EF Core 3.1作为当前的替代方案EF 6.x。所以问题是:

EF Core 3.1 是否支持数据库优先方法?

如果没有,有哪些选择?我们只剩下代码优先的方法了吗?

感谢您的帮助。


是的。从 .NET Core 1.0 到现在,它支持 DB First 方法。你需要从nugets下载4个

  1. 实体框架核心

  2. EntityFrameworkCore.Design

  3. EntityFrameworkCore.工具

  4. EntityFrameworkCore.SqlServer

打开工具 > NuGet 包管理器 > 包管理器控制台。并在控制台中输入以下内容。

Default:

Scaffold-DbContext "Server=yourserveraddress;Database=yourdatabase;user id=youruser;password=yourpassword;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models -Context "YourOwnContext"

看到您关于“Scaffold-DbContext 仅创建 Code First 模型”的评论。不,Scaffold-DbContext 是数据库优先的方法。

“为现有数据库创建实体和上下文类称为数据库优先方法。”

EDITED

如果数据库中有新的更新并且想要更新 dbcontext,只需在末尾添加 -f 即可。它将更新并覆盖您的所有 dbcontext 和模型类。

Scaffold-DbContext "Server=yourserveraddress;Database=yourdatabase;user id=youruser;password=yourpassword;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models -Context "YourOwnContext" -f

如果想在模型类中添加一些数据注释如[Column]等,可以添加-DataAnnotations

Scaffold-DbContext "Server=yourserveraddress;Database=yourdatabase;user id=youruser;password=yourpassword;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models -Context "YourOwnContext" -DataAnnotations -f
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

EF Core 3.1 是否支持数据库优先方法? 的相关文章

随机推荐