EF Core 入门

Posted myshowtime

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了EF Core 入门相关的知识,希望对你有一定的参考价值。

官方文档地址

 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<LocalDBContext>(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()....

 

以上是关于EF Core 入门的主要内容,如果未能解决你的问题,请参考以下文章

C# 数据操作系列 - 5. EF Core 入门

EF Core 基础知识

EF Core 2.1 中的新增功能

Shell编程入门

C# 数据操作系列 - 6 EF Core 配置映射关系

.net core 入门