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、查看資料庫,添加成功