EF Core环境搭建

EF Core环境搭建

  1. 实体类
  2. Config 配置类
  3. 创建继承DbContext的类 (设置连接数据库字符串)
  4. 自动生成数据库 (命令)
  5. 编写调用EF Core的业务代码

引入NuGet包

Microsoft.EntityFrameworkCore.SqlServer

Microsoft.EntityFrameworkCore.Tools

Microsoft.EntityFrameworkCore.SqlServer.Design

  • 实体类-Book.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace EFCore
{
   public class Book
    {
        public long Id { get; set; }    //编号
        public string Title { get; set; }  //标题
        public DateTime dateTime { get; set; }  //发布日期
        public double Price { get; set; }   // 单价

    }
}
  • 配置类-BookConfig.cs 数据表名
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;

namespace EFCore
{
    class BookConfig : IEntityTypeConfiguration<Book>
    {
        public void Configure(EntityTypeBuilder<Book> builder)
        {
            builder.ToTable("T_Books"); 
        }
    }
}
  • TestContext.cs 设置数据库连接字符串 Context类
using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace EFCore
{
    class TestContext : DbContext
    {
        public DbSet<Book> Books { get; set; }

        protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
        {
            //数据库连接字符串
            string connStr = "Data Source=.;Initial Catalog=demo1;Integrated Security=True"; 
            
            optionsBuilder.UseSqlServer(connStr);
        }

        protected override void OnModelCreating(ModelBuilder modelBuilder)
        {
            base.OnModelCreating(modelBuilder);
            modelBuilder.ApplyConfigurationsFromAssembly(this.GetType().Assembly);
        }

    }
}
  • 打开NuGet程序包管理控制台 输入

Add-Migration FirstMigration

​ 会自动在项目的Migrations文件夹中生成操作数据库的 C# 代码。( FirstMigration 提交变更的名字)

Update-Database

上一篇:Linux用户密码输入错误账户锁定


下一篇:ubuntu安装trex