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


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

     dotnet tool install --global dotnet-ef
    
    • 1

    如果报错:
    *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
    
    • 1

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

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

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

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

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

  • 相关阅读:
    计时器Timing Wheel 时间轮算法
    Spring 框架的 MethodInterceptor 简介
    【CVE】CVE-2019-9193:PostgreSQL 任意命令执行漏洞
    Winodws核心编程 多线程
    Redis从入门到精通(三:常用指令)
    linux: 切换并配置root
    【Git】fork 出的仓库拉取源仓库
    CMake重要指令&常用变量
    【无标题】
    第一章:开始【C++Primer 第五版】
  • 原文地址:https://blog.csdn.net/qq_16550591/article/details/133896831