EFCore_01_環境搭建與簡單使用

開發環境搭建

經典步驟:建實體類、建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、查看資料庫,添加成功

 

 

 

 

Tags: