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

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

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

一、引言

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

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

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

二、具體示例

1、代碼生成

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

dbContext.Database.EnsureCreated()

其中dbContext是數(shù)據(jù)上下文的實(shí)例對(duì)象??聪旅娴拇a:

using EFCore.Data;
using System;

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

            Console.ReadKey();
        }
    }
}

運(yùn)行程序,查看效果:

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

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

2、程序包管理器控制臺(tái)遷移

使用程序包管理器控制臺(tái)遷移的方式分為三個(gè)步驟。

1、安裝Microsoft.EntityFrameworkCore.Tools包

由于遷移需要使用到Microsoft.EntityFrameworkCore.Tools包,所以先要在EFCore.Data類(lèi)庫(kù)項(xiàng)目上安裝這個(gè)包,直接在NuGet里面安裝即可。

這里是把EFCore安裝在一個(gè)單獨(dú)的類(lèi)庫(kù)項(xiàng)目里,所以作為啟動(dòng)項(xiàng)的控制臺(tái)程序也要安裝這個(gè)包。

2、添加遷移命令

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

Add-Migration Init_First

其中Init_First是為這次遷移起的一個(gè)名稱(chēng),如下圖所示:

執(zhí)行完遷移命令以后,會(huì)自動(dòng)生成幾個(gè)文件:

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

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

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

Update-Database

如下圖所示:

這樣就會(huì)自動(dòng)生成數(shù)據(jù)庫(kù)。

3、命令行遷移

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

1、添加遷移

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

dotnet ef migrations add Initial

如下圖所示:

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

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

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

dotnet ef database update

如下圖所示:

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

三、總結(jié)

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

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

相關(guān)文章

最新評(píng)論