.net core 3.1 webapi接口项目框架搭建三:EFCore

本文详细介绍了在.NET Core项目中使用Entity Framework Core进行SqlServer和MySql数据库操作的方法。包括了必要的NuGet包安装指令,如Microsoft.EntityFrameworkCore、Pomelo.EntityFrameworkCore.MySql等,以及如何通过Scaffold-DbContext命令生成数据模型。同时,解决了一些常见问题,如EntityFrameworkCoreTools工作所需的Microsoft.EntityFrameworkCore.Design包缺失问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Sql Server

引用依赖库

Install-Package Microsoft.EntityFrameworkCore
Install-Package Microsoft.EntityFrameworkCore.SqlServer
Install-Package Microsoft.EntityFrameworkCore.Tools
Install-Package Microsoft.EntityFrameworkCore.Design

命令

打开 程序包管理器控制台 执行命令 :

Scaffold-DbContext "Data Source=.;Initial Catalog=EFExample;User ID=sa;Password=sa" Microsoft.EntityFrameworkCore.SqlServer -ContextDir EF\SqlServer\Context -Context EFExampleContext   -OutputDir EF\SqlServer -UseDatabaseNames -DataAnnotations  -Force

问题

Your startup project 'Core' doesn't reference Microsoft.EntityFrameworkCore.Design. This package is required for the Entity Framework Core Tools to work. Ensure your startup project is correct, install the package, and try again.

解决方案

主项目中 添加 Microsoft.EntityFrameworkCore.Design 依赖包

MySql

引用依赖包

Install-Package Microsoft.EntityFrameworkCore
Install-Package Pomelo.EntityFrameworkCore.MySql
Install-Package Microsoft.EntityFrameworkCore.Tools
Install-Package Microsoft.EntityFrameworkCore.Design

命令

Scaffold-DbContext "server=****;userid=***;pwd=***;port=3306;database=****;sslmode=none;" Pomelo.EntityFrameworkCore.MySql  -ContextDir EF\MySql\Context -Context Tss1002DBContext   -OutputDir EF\MySql -Tables  operation_log,academy   -UseDatabaseNames -DataAnnotations  -Force

命令解释

-OutputDir *** 实体文件所存放的文件目录
-ContextDir *** DbContext文件存放的目录
-Context *** DbContext文件名
-Schemas *** 需要生成实体数据的数据表所在的模式
-Tables *** 需要生成实体数据的数据表的集合
-DataAnnotations
-UseDatabaseNames 直接使用数据库中的表名和列名(某些版本不支持)
-Force 强制执行,重写已经存在的实体文件

https://www.cnblogs.com/luckypc/p/10937598.html.
https://www.cnblogs.com/ruanraun/p/dbcontext.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值