zhaozhiyong

开发环境搭建

经典步骤:建实体类、建DbContext、生成数据库

本次使用codefirst模式,走下流程,(你也可以先建好数据库,用命令行的形式,直接生成DbContext,而且生成的DbContext自带对应关系配置)

1、当做一会要在库里生成的表

 public class Book
    {
        public long Id {  get; set; }
        public string Title {  get; set; }  
        public DateTime dateTime {  get; set; } 
        public double Price {  get; set; }
    }

 public  class Person
    {
        public long Id {  get; set; }   
        public string Name {  get; set; }
        public int Age {  get; set; }
        public string Email {  get; set; }
    }

 

2、这里以 SQLServer 数据库为例,在构建 Dbcontext 之前,先引入要用到的包

//每一种数据库 都有对应的EFCore 功能包
Install-Package Microsoft.EntityFrameworkCore.SqlServer
//这个包是用来在控制台中使用 EFCore的 ef命令
Install-Package Microsoft.EntityFrameworkCore.Tools

3、配置实体与真实表之间的对应关系

public class BookConfig : IEntityTypeConfiguration<Book>
    {
        public void Configure(EntityTypeBuilder<Book> builder)
        {
            builder.ToTable("T_Books");
        }
    }

 public class PersonConfig : IEntityTypeConfiguration<Person>
    {
        public void Configure(EntityTypeBuilder<Person> builder)
        {
            builder.ToTable("T_Persons");
        }
    }

4、接下来 构建 DbContext,需要重写两个方法:一个是告诉我们连的哪个库 一个是把刚才的对应关系告诉DbContext

public class MyDbContext:DbContext
    {
        public DbSet<Book> Books { get; set; }
        public DbSet<Person> Persons { get; set; }

        //配置链接字符串
        protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
        {
            base.OnConfiguring(optionsBuilder);
            optionsBuilder.UseSqlServer("Server=.;Database=demo;Trusted_Connection=True;MultipleActiveResultSets=true");
        }

        //实体类与数据库映射关系
        protected override void OnModelCreating(ModelBuilder modelBuilder)
        {
            base.OnModelCreating(modelBuilder);
            //从当前程序集加载所有的IEntityTypeConfiguration
            modelBuilder.ApplyConfigurationsFromAssembly(this.GetType().Assembly);
        }

    }

5、Migration 数据库迁移

//新建一个 MigRation
Add-Migration  “打上你自己的标签”
//执行上面生成的脚步
Update-DataBase

6、查看数据库,添加成功

 

 

 

 

分类:

EFCore

技术点:

相关文章: