EFCore3.1的基本使用(基于Mysql数据库)

EFCore的基本使用(基于Mysql数据库)

一.依赖包的导入(适用于netcore3.0版以上)

1.创建netcore项目在这里插入图片描述

2.添加依赖包

1.Microsoft.EntityFrameworkCore.Tools(使用与迁移相关操作)
2.Pomelo.EntityFrameworkCore.MySql(连接Mysql)
3.Microsoft.EntityFrameworkCore(EF基础功能包)
4.Microsoft.EntityFrameworkCore.Design
5.Microsoft.EntityFrameworkCore.Tools在这里插入图片描述

二.领域模型(实体类)的建立

1.再Model文件中建立Student实体:

//注意这里引入命名空间
using System.ComponentModel.DataAnnotations;

  public class Student
    {
        public int ID { get; set; }
        [StringLength(50)]
        public string Name { get; set; }
        [StringLength(2)]
        public string Sex { get; set; }
        [StringLength(11)]
        public string Phone { get; set; }
        [StringLength(200)]
        public string Address { get; set; }
    }

2.建立StudnetDbContext上下文实体

//StudnetDbContext继承至DbContext
public class StudentDbContext:DbContext
    {
    //DbContextOptions实例负责承载应用中的配置信息,如连接字符串,数据库提供商等实例
        public StudentDbContext(DbContextOptions<StudentDbContext>options):base(options)
        {

        }
        //针对DbSet<TEntity>的查询,EF会将Linq语句转换为针对底层的SQL语句查询
        public DbSet<Student> Student { get; set; }
    }

DbContext

是实体类和数据库之间的桥梁,DbContext主要负责与数据交互,主要作用:

1、DbContext包含所有的实体映射到数据库表的实体集(DbSet < TEntity >)。

2、DbContext 将LINQ-to-Entities查询转换为SQL查询并将其发送到数据库。

3、更改跟踪: 它跟踪每个实体从数据库中查询出来后发生的修改变化。

4、持久化数据: 它也基于实体状态执行插入、更新和删除操作到数据库中。

三.配置连接Mysql数据库的信息

1.在startup.cs文件中的ConfigureServices方法中配置使用Mysql

 public void ConfigureServices(IServiceCollection services)
        {
            services.AddControllersWithViews();
            services.AddDbContext<StudentDbContext>(options => options.UseMySql(Configuration.GetConnectionString("ConnectionMysql")));
        }

2.在appsetting.json配置连接字符串

{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft": "Warning",
      "Microsoft.Hosting.Lifetime": "Information"
    }
  },

  "ConnectionStrings": {
    "ConnectionMysql": "server=localhost;uid=root;pwd=123456;database=student;"
  },

  "AllowedHosts": "*"
}

3.创建Student数据库

四.数据库的迁移

1.打开控制台

在这里插入图片描述

2.执行迁移

1.执行迁移指令

 Add-Migration StudentMigration

2.更新数据库

Update-Database

3.打开数据库检查

在这里插入图片描述

posted @ 2021-05-24 21:47  有诗亦有远方  阅读(22)  评论(0编辑  收藏  举报  来源