[Dotnet-ef 工具] ORM 工具生成实体模型步骤及常见问题!

介绍

Etity Framework (EF) 是微软为 .NET 平台开发的一套对象关系映射框架。它是目前 .NET 生态中最主流、最官方的数据库访问技术。

简单来说,EF 的核心作用是让开发者可以用面向对象的方式(C# 类)来操作关系型数据库(如 SQL Server, MySQL, PostgreSQL 等),而不必编写繁琐的 SQL 语句。

准备

安装必要的 NuGet 包:右键点击你的项目 -> 管理 NuGet 程序包。
浏览并安装以下两个包(确保安装的是稳定版):
Microsoft.EntityFrameworkCore.SqlServer (EF Core 的 SQL Server 提供程序)
Microsoft.EntityFrameworkCore.Tools (用于执行生成命令)

“数据库优先”生成实体模型

在 Visual Studio 中,打开 “工具” -> “NuGet 包管理器” -> “程序包管理器控制台”。
在控制台底部输入以下命令(请根据你的实际情况修改参数):

Scaffold-DbContext "Data Source=.;Initial Catalog=你的数据库名;User ID=sa;Password=你的密码" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models -Force

参数解释:

  • Data Source=…“:这是你的数据库连接字符串。
  • Microsoft.EntityFrameworkCore.SqlServer:提供程序名称。
  • -OutputDir Models:生成的实体类文件将放在 Models 文件夹下(如果没有会自动创建)。
  • -Force:如果文件已存在,强制覆盖(可选)。

例如:我想将生成的文件放在主项目下面创建的 d1.dll 项目中的 /SqlServer/Main 项目文件中

Scaffold-DbContext "Data Source=.;Initial Catalog=你的数据库名;User ID=sa;Password=你的密码" Microsoft.EntityFrameworkCore.SqlServer -Project d1 -StartupProject AAASystem -OutputDir SqlServer/Main -Force

问题解决:

如果出现下面所示的提示,那我们可以改用 dotnet 命令来生成!

无法执行,因为找不到指定的命令或文件。
可能造成此问题的原因包括:
 *内置 dotnet 命令拼写错误。
 *你打算执行 .NET 程序,但 dotnet-ef 不存在。
 *你打算运行全局工具,但在 PATH 上找不到具有此名称且带有 dotnet 前缀的可执行文件。

G:\Code\网站源码\后台管理系统\ServiceCode\SystemProject\d1>

使用下面的命令来安装 dotnet-ef 工具!

注意:你的项目的 .net 版本需要跟这里的一一对应。

dotnet tool install --global dotnet-ef --version 9.0.0

最后我们使用下面的命令进行安装生成实体模型!

dotnet ef dbcontext scaffold "Data Source=.;Initial Catalog=xxxSystem;User ID=sa;Password=密码;TrustServerCertificate=True;" Microsoft.EntityFrameworkCore.SqlServer --startup-project ..\AAASystem --output-dir SqlServer/Main --force
© 版权声明
THE END
喜欢就支持一下吧
点赞10 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容