官方文档地址
https://docs.microsoft.com/zh-cn/aspnet/?view=aspnetcore-2.2#pivot=core
EF Core 使用
1. 创建数据库上下文和数据实体
从Sql Server 数据库读取连接和实体,打开Nuget 包管理控制台,输入
Scaffold-DbContext "Server=(localdb)\mssqllocaldb;Database=Blogging;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models
成功后会在项目中自动生成实体模型Model和数据库上下文DBContext
修改上下文实体,删除 OnConfiguring 和 OnModelCreating 方法
这里手动添加数据库上下文和数据库实体也可以
2.添加连接字符串
在appsetting.json 添加Sql Server 连接字符串
{ "Logging": { "LogLevel": { "Default": "Warning" } }, "ConnectionStrings": { "LocalDB": "Data Source=db;Initial Catalog=LocalDB;User ID=spring;Password=Mm2717965346" }, "AllowedHosts": "*" }
3.通过依赖关系注入注册上下文
在 Startup.cs 中注册并配置上下文
public void ConfigureServices(IServiceCollection services) { // 注册上下文 services.AddDbContext(options => options.UseSqlServer(Configuration.GetConnectionString("LocalDB")) ); services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2); }
4. 在程序中使用数据库上下文
这里在控制器里面示范,在控制器构造函数内初始化 上下文
[Route("api/[controller]/[action]")] [ApiController] public class HomeController : ControllerBase { public LocalDBContext DB { get; set; } public HomeController(LocalDBContext db) { DB = db; }
然后就可以使用 DB 上下文去操作数据库, DB.Students.ToList() , DB.Add() , DB.SaveChanges()....