欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Entity?Framework?Core生成數(shù)據(jù)庫表

 更新時間:2022年03月25日 09:24:07   作者:.NET開發(fā)菜鳥  
這篇文章介紹了Entity?Framework?Core生成數(shù)據(jù)庫表的方法,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

一、引言

生成數(shù)據(jù)庫表有下面的三種方式:

  • 代碼生成。
  • 程序包管理器控制臺遷移。
  • 命令行遷移。

下面分別介紹上面的三種方法。

二、具體示例

1、代碼生成

在程序里面執(zhí)行下面的代碼可以在運行時生成數(shù)據(jù)庫:

dbContext.Database.EnsureCreated()

其中dbContext是數(shù)據(jù)上下文的實例對象。看下面的代碼:

using EFCore.Data;
using System;

namespace EFCore.Con
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");
            // 實例化數(shù)據(jù)上下文對象
            EFDbContext dbContext = new EFDbContext();
            // 生成數(shù)據(jù)庫
            bool tfTrue = dbContext.Database.EnsureCreated();
            if (tfTrue)
            {
                Console.WriteLine("數(shù)據(jù)庫創(chuàng)建成功!");
            }
            else
            {
                Console.WriteLine("數(shù)據(jù)庫創(chuàng)建失敗!");
            }

            Console.ReadKey();
        }
    }
}

運行程序,查看效果:

提示創(chuàng)建成功,我們?nèi)?shù)據(jù)庫查看,發(fā)現(xiàn)會自動創(chuàng)建數(shù)據(jù)庫,并且添加了表:

這種方式只能執(zhí)行一次,如果再次執(zhí)行,就會提示創(chuàng)建數(shù)據(jù)庫失敗。

2、程序包管理器控制臺遷移

使用程序包管理器控制臺遷移的方式分為三個步驟。

1、安裝Microsoft.EntityFrameworkCore.Tools包

由于遷移需要使用到Microsoft.EntityFrameworkCore.Tools包,所以先要在EFCore.Data類庫項目上安裝這個包,直接在NuGet里面安裝即可。

這里是把EFCore安裝在一個單獨的類庫項目里,所以作為啟動項的控制臺程序也要安裝這個包。

2、添加遷移命令

使用下面的命令可以生成一個遷移:

Add-Migration Init_First

其中Init_First是為這次遷移起的一個名稱,如下圖所示:

執(zhí)行完遷移命令以后,會自動生成幾個文件:

  • 20200224163036_Init_First.cs:是針對本次遷移生成的文件。每次遷移都會生成一個對應(yīng)的遷移文件。里面有一個Up方法和一個Down方法,Up方法表示要執(zhí)行的操作,Down方法相當(dāng)于回滾,如果需要還原到上一個狀態(tài),就會執(zhí)行Down方法。
  • EFDbContextModelSnapshot.cs:生成的配置文件。只會生成一次。

3、更新數(shù)據(jù)庫

執(zhí)行完上面的遷移命令,執(zhí)行下面的命令就可以更新到數(shù)據(jù)庫:

Update-Database

如下圖所示:

這樣就會自動生成數(shù)據(jù)庫。

3、命令行遷移

我們可以在PowerShell或者CMD命令行窗口里面進行遷移,使用命令行遷移分為下面的兩個步驟。

1、添加遷移

首先我們要進入EFCore.Data目錄下面,然后執(zhí)行下面的命令添加遷移:

dotnet ef migrations add Initial

如下圖所示:

遷移之后同樣會生成上面所講的文件。 

2、更新數(shù)據(jù)庫

執(zhí)行下面的命令會將配置更新到數(shù)據(jù)庫:

dotnet ef database update

如下圖所示:

執(zhí)行成功以后就會生成數(shù)據(jù)庫。

三、總結(jié)

上面介紹了三種生成數(shù)據(jù)庫表的方式,代碼生成的方式適合于控制臺程序,這種方式不太常用。尤其是在Web項目里面,經(jīng)常使用第二種和第三種方式。

到此這篇關(guān)于Entity Framework Core生成數(shù)據(jù)庫表的文章就介紹到這了。希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論