EF CodeFirst 自动创建数据库和表实例

1 新建 .net 5 控制台项目

2 在项目中 引用 Microsoft.EntityFrameworkCore 和 Microsoft.EntityFrameworkCore.SqlServer 包

3 新建表实体

namespace CodeFirst_EF.EFClass
{
    /// <summary>
    /// 学生实体
    /// </summary>
    public class StudentEntity
    {
        public int Id { get; set; } // 默认这个为主键
        public string Name { get; set; }
        public int Age { get; set; }
    }
}

4 新建上下文

using Microsoft.EntityFrameworkCore;

namespace CodeFirst_EF.EFClass
{
    public class TestDbContext : DbContext
    {
        public TestDbContext()
            : base()
        {
            Database.EnsureCreated();
        }

        protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
        {
            base.OnConfiguring(optionsBuilder);
            optionsBuilder.UseSqlServer("server=DESKTOP-M37JR2B;database=Test_210803;trusted_connection=yes;");
        }

        public DbSet<StudentEntity> Students { get; set; } // 会创建 Students 表
    }
}

5 测试

using CodeFirst_EF.EFClass;
using System;

namespace CodeFirst_EF
{
    // 第1步 引用 Microsoft.EntityFrameworkCore,Microsoft.EntityFrameworkCore.SqlServer

    class Program
    {
        static void Main(string[] args)
        {
            TestEFCodeFirst();

            Console.Read();
        }

        /// <summary>
        /// 运行完这个方法后,会自动新建 Test_210803 数据库,同时也会创建 Students 表
        /// </summary>
        public static void TestEFCodeFirst()
        {
            var dbContext = new TestDbContext();
        }
    }
}

6 运行结果

 

posted @ 2021-08-03 15:41  温故纳新  阅读(334)  评论(0)    收藏  举报