在.Core中用EF添加数据库实体类

首先安装dotnet-ef工具,否则提示:
*无法执行,因为找不到指定的命令或文件。
可能的原因包括:
*你拼错了内置的 dotnet 命令。
*你打算执行 .NET Core 程序,但 dotnet-ef 不存在。
你打算运行全局工具,但在路径上找不到名称前缀为 dotnet 的可执行文件。
你可以在终端执行

 dotnet tool install --global dotnet-ef

如果报错:
*error NU1202: 包 dotnet-ef 7.0.12 与 netcoreapp3.1 (.NETCoreApp,Version=v3.1) / any 不兼容。 包 dotnet-ef 7.0.12 支持: net6.0 (.NETCoreApp,Version=v6.0) / any
无法还原工具包。
工具“dotnet-ef”安装失败。此故障可能由以下原因导致:

  • 你尝试安装预览版,但未使用 --version 选项来指定该版本。
  • 已找到具有此名称的包,但是它不是 .NET Core 工具。
  • 无法访问所需的 NuGet 源,这可能是由于 Internet 连接问题导致。
  • 工具名称输入错误。
    有关更多原因(包括强制包命名),请访问 https://aka.ms/failure-installing-tool*
    证明你的.Core版本较低,可以安装跟你的.Core对应版本的
 dotnet tool install --global dotnet-ef --version 3.1.20

接下来将YourConnectionString替换为你的数据库连接字符串。这个命令将会使用Entity Framework Core的Scaffold功能,根据数据库中的表结构自动生成SQMainContext类,并将其放置在Models文件夹的SQMainContext文件夹中。

dotnet ef dbcontext scaffold "YourConnectionString" Microsoft.EntityFrameworkCore.SqlServer -o Models/SQMainContext --context SQMainContext

如果你只想增加某张数据库表的实体类,你可以使用–table,然后如果是更新某张表,你可以使用–force覆盖

 dotnet ef dbcontext scaffold "YourConnectionString"  Microsoft.EntityFrameworkCore.SqlServer -o Models/SQMainContext --context SQMainContext --table SQMain --force

终端提示这个证明成功。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值