1. 程式人生 > 其它 >EF CodeFirst 自動建立資料庫和表例項

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 執行結果