.Net 6.0中快速上手EF Core之DBFirst
背景:
EF Core 是一个非常优秀ORM框架,它的存在大大提高了我们开发人员的效率,在EFCore出世之前的EF 已经相当炸裂了,但性能却是这个ORM框架最大的瓶颈,不管你需不需要的关联表都会给你查出来,现在EF Core就完美的解决了这个问题!EF Core也深受广大开发者的喜爱,今天就让我来带你快速上手EF Core吧!!!
环境:
本章节使用的环境是.Net 6.0和SQL Server 2019
接下来我们开始正题!
1.首先我们需要下载几个Nuget的包
【程序包管理控制台】(位置:工具->NuGet 包管理器->程序包管理控制台),选择【默认项目】,输入以下命令安装依赖
Install-package Microsoft.EntityFrameworkCore.Tools Install-package Microsoft.EntityFrameworkCore.Design Install-package Microsoft.EntityFrameworkCore.SqlServer
2.通过控制台生成对应的Entity(Model)
注意:在控制台生成Entity时一定要选择好对应的程序集哦,请看下图与代码
1 //Entity是指生成的位置,BlogDBContext是自定义DBContext的名称 2 Scaffold-DbContext 'Data Source=服务地址;Initial Catalog=数据库;User Id=用户名;Password=密码; integrated security=false;Encrypt=True;TrustServerCertificate=True;' Microsoft.EntityFrameworkCore.SqlServer -OutputDir Entity -Context BlogDBContext
当数据库中表发生更改时,可以直接使用下面命令在Nuget控制台中直接Entity
1 Scaffold-DbContext 'Data Source=服务地址;Initial Catalog=Blog;User Id=用户名;Password=密码; integrated security=false;Encrypt=True;TrustServerCertificate=True;' Microsoft.EntityFrameworkCore.SqlServer -OutputDir Entity -Context BlogDBContext -Force
3.在配置连接字符串
在appsettings.json文件中配置连接字符串
//连接字符串 "ConnectionStrings": { "DBEquipment": "Data Source=服务地址;Initial Catalog=Blog;User Id=用户名;Password=密码;integrated security=True;Encrypt=True;TrustServerCertificate=True;' " }
4.在Program类中注入上下文对象并从appsettings.json文件中读取连接字符串
1 using Microsoft.EntityFrameworkCore; 2 //添加DBContext 3 builder.Services.AddDbContext<BlogDBContext>(options => options.UseSqlServer(builder.Configuration.GetConnectionString("DBEquipment")));
完成上述操作之后,我们就可以通过EF Core 操作数据库表进行CRUD啦,接下来让我们写一个测试的查询接口
5.如何使用:
这里比较简单,直接上代码和效果图!
1 /// <summary> 2 /// 用户Web端数据接口 3 /// </summary> 4 [Route("api/[controller]")] 5 [ApiController] 6 public class SysUserWebApiController : ControllerBase 7 { 8 private readonly BlogDBContext _blogDBContext; 9 public SysUserWebApiController(BlogDBContext blogDBContext) 10 { 11 _blogDBContext=blogDBContext; 12 } 13 14 /// <summary> 15 /// 获取列表 --测试接口 16 /// </summary> 17 /// <returns></returns> 18 [HttpGet("GetListTest")] 19 public IActionResult GetListTest() 20 { 21 var result =_blogDBContext.SysUserEntities.ToList(); 22 return Ok(new { msg="成功",data= result }); 23 } 24 }
好了,今天的内容就到这儿了,比较基础简单,跟着本章节应该能很快上手,一些基本的EF Core 语法本章节并未透露,感性去的小伙伴可以去官网查看https://learn.microsoft.com/zh-cn/ef/core/
当然EF Core 可以通过反射和泛型搭建一个非常不错的项目架构,有时间时也会出一篇随笔专门讲述,最后喜欢本章节对各位有所帮助.
本文来自博客园,作者:echo_sw,转载请注明原文链接:https://www.cnblogs.com/shenweif/p/17226471.html