ASP.NET Core中使用EF Core(MySql)Database First
⒈创建数据库,在数据中执行以下脚本。
1 CREATE DATABASE Blogging; 2 3 USE Blogging; 4 5 CREATE TABLE Blog ( 6 BlogId int not null PRIMARY key auto_increment, 7 Url text not null 8 ); 9 10 CREATE TABLE Post ( 11 PostId int NOT NULL PRIMARY key auto_increment, 12 BlogId int NOT NULL, 13 Content text, 14 Title varchar(100), 15 CONSTRAINT FK_Post_Blog_BlogId FOREIGN KEY(BlogId) REFERENCES Blog(BlogId) ON DELETE CASCADE 16 ); 17 18 INSERT INTO Blog (Url) VALUES 19 ('http://blogs.msdn.com/dotnet'), 20 ('http://blogs.msdn.com/webdev'), 21 ('http://blogs.msdn.com/visualstudio')
⒉添加依赖
MySql.Data.EntityFrameworkCore
⒊实施反向工程,基于现有数据库创建数据表实体类及上下文。
第一种方式:"Visual Studio 2019" >“工具”>“NuGet 包管理器”>“程序包管理器控制台”,执行以下命令(最好提前编译以下项目,否则以下命令可能执行不成功)
1 #Scaffold-DbContext "数据库连接字符串" 数据库提供程序 -OutputDir 输出文件夹 2 Scaffold-DbContext "server=localhost;port=3306;database=blogging;user=root;password=admin;" MySql.Data.EntityFrameworkCore -OutputDir Models
第二种方式:使用.Net Core CLI,执行以下命令
1 #dotnet ef dbcontext scaffold "数据库连接字符串" 数据库提供程序 -o 输出文件夹 2 dotnet ef dbcontext scaffold "server=localhost;port=3306;database=blogging;user=root;password=admin;" MySql.Data.EntityFrameworkCore -o Models
⒋使用依赖注入将上下文注册为服务
1 public void ConfigureServices(IServiceCollection services) 2 { 3 services.Configure<CookiePolicyOptions>(options => 4 { 5 // This lambda determines whether user consent for non-essential cookies is needed for a given request. 6 options.CheckConsentNeeded = context => true; 7 options.MinimumSameSitePolicy = SameSiteMode.None; 8 }); 9 10 11 services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2); 12 13 var connection = Configuration["ConnectionStrings:MySqlConnection"]; 14 15 services.AddDbContext<BloggingDbContext>(options => 16 { 17 options.UseMySQL(connection); 18 }); 19 }
作者:奇
出处:https://www.cnblogs.com/fanqisoft/p/10809938.html
版权:本作品采用「本文版权归作者和博客园共有,欢迎转载,但必须给出原文链接,并保留此段声明,否则保留追究法律责任的权利。」许可协议进行许可。
如果文章内容对您有所帮助,欢迎赞赏.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!