gpt4 book ai didi

asp.net-mvc - EF Core 3.1 是否支持 DB First 方法?

转载 作者:行者123 更新时间:2023-12-02 06:46:35 26 4
gpt4 key购买 nike

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

EF Core 3.1 是否支持 DB First 方法?

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

感谢您的帮助。

最佳答案

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

  • Entity Framework 核心
  • EntityFrameworkCore.Design
  • EntityFrameworkCore.Tools
  • EntityFrameworkCore.SqlServer

  • 打开工具 > NuGet 包管理器 > 包管理器控制台。并在控制台中输入以下内容。
    默认:
    Scaffold-DbContext "Server=yourserveraddress;Database=yourdatabase;user id=youruser;password=yourpassword;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models -Context "YourOwnContext"
    看到您对“Scaffold-DbContext 仅创建代码优先模型”的评论。不,Scaffold-DbContext 是数据库优先的方法。

    "Creating entity & context classes for an existing database is called Database-First approach."


    已编辑
    如果您在数据库中有新的更新并想要更新 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

    关于asp.net-mvc - EF Core 3.1 是否支持 DB First 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59810607/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com