.NET 6 Entity Framework Core Db First(1) 创建模型

  • .NET 6 Entity Framework Core Db First(1) 创建模型已关闭评论
  • 60 次浏览
  • A+
所属分类:.NET技术
摘要

  vs2022  .NET6    安装 PMC 工具,执行设计时开发任务。 例如,可以创建迁移、应用迁移,并为基于现有数据库的模型生成代码。


项目准备

1、开发环境

  vs2022  .NET6

2、创建项目

  • 新建项目 ASP.NET Core Web API,解决方案名称:EFDBFirstDemo,项目名称:EFDBFirstDemo.API,选择.NET 6.0
  • 解决方案=》新建项目=》类库,类库名称:EFDBFirstDemo.Model,选择.NET 6.0

安装 EF Core

安装方式

  • 使用程序包管理控制台。打开方式:工具=》NuGet包管理器=》程序包管理控制台。使用方法:https://learn.microsoft.com/zh-cn/nuget/consume-packages/install-use-packages-powershell
  • 通过右键单击项目并选择“管理 NuGet 程序包”来安装包

NuGet 程序包

  • Microsoft.EntityFrameworkCore.Tools

    安装 PMC 工具,执行设计时开发任务。 例如,可以创建迁移、应用迁移,并为基于现有数据库的模型生成代码。

    参考:https://learn.microsoft.com/zh-cn/ef/core/cli/powershell

    Install-Package Microsoft.EntityFrameworkCore.Tools -Version 6.0.27

  • Microsoft.EntityFrameworkCore.Design

    生成数据库实体、上下文,这个注意需要安装到启动项目(EFDBFirstDemo.API)

    Install-Package Microsoft.EntityFrameworkCore.Design -Version 6.0.27

  • Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore

    提供 EF Core 错误页的 ASP.NET Core 中间件。 此中间件有助于检测和诊断 EF Core 迁移错误。

    Install-Package Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore -Version 6.0.27

  • Microsoft.EntityFrameworkCore.SqlServer

    我这里使用的SQL server数据库,安装 Microsoft.EntityFrameworkCore.SqlServer NuGet程序包,

    如果你使用其他数据库可参考:https://learn.microsoft.com/zh-cn/ef/core/providers/?tabs=dotnet-core-cli

    Install-Package Microsoft.EntityFrameworkCore.SqlServer -Version 6.0.27

  • 安装完成

  .NET 6 Entity Framework Core Db First(1) 创建模型

创建模型

1、数据库连接字符串

  在appsettings.Development.json 配置

{   "ConnectionStrings": {     "demo": "Data Source=.;User Id=sa;Password=123456;database=demo;"   } }

2、生成实体、上下文

  • EFDBFirstDemo.API项目 添加引用 EFDBFirstDemo.API项目
  • 执行命令,更多参数可查看:https://learn.microsoft.com/zh-cn/ef/core/cli/powershell
Scaffold-DbContext 'Name=ConnectionStrings:demo' Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models -ContextDir Context -Context DemoContext

.NET 6 Entity Framework Core Db First(1) 创建模型