最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

.Net Core中使用EFCore生成反向工程

 更新時(shí)間:2022年06月14日 14:48:13   作者:springsnow  
這篇文章介紹了.Net Core中使用EFCore生成反向工程的方法,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

一、簡要步驟

1、第一步

安裝以下程序包

  • 安裝Entity FrameWork Core SqlServer 3.1
  • 安裝Entity FrameWork Core Tools 3.1
  • 安裝Entity FrameWork Core Design 3.1

2、第二步

選擇默認(rèn)項(xiàng)目為放Model的項(xiàng)目,在程序包管理控制臺 輸入:

Scaffold-DbContext '數(shù)據(jù)庫連接字符串' Microsoft.EntityFrameworkCore.SqlServer -o Model -v

  • -o :表示輸出到xxx   Model是生成文件以后所在的文件夾的名字,也可以用''代替會(huì)直接生成到項(xiàng)目的根目錄。
  • -v: 表示顯示錯(cuò)誤信息
  • -Force :更新表
  • -Tables 表名 :只操作某張表
  • -Context :Context類名

示例:自動(dòng)生成MainDB的Context類和UserInfo實(shí)體類。

Scaffold-DbContext 'Data Source=.;Initial Catalog=MyDB;User ID=sa;Password=sa123' Microsoft.EntityFrameworkCore.SqlServer -o '' -Tables UserInfo -Force -Context MainDB -v

提示:微軟官網(wǎng)提示 Sql Server版本必須在2012以上。

 二、詳細(xì)解釋

  • 1.反向工程是實(shí)體類型類和一個(gè)基于數(shù)據(jù)庫架構(gòu)的 DbContext 類的基架的過程 
  • 2.Scaffold-DbContext(數(shù)據(jù)庫上下文腳手架) 

使用Scaffold-DbContext(數(shù)據(jù)庫上下文腳手架)指令生成models和context 

  • 3.腳手架: 

編譯器(腳手架)根據(jù)程序員制定的規(guī)則收成相應(yīng)的代碼,操作數(shù)據(jù)庫(CRUD) 

  • 4.語法:

Scaffold-DbContext [-Connection] <String> [-Provider] <String> [-OutputDir <String>] [-Context <String>] 
[-Schemas <String>] [-Tables <String>] [-DataAnnotations] [-Force] [-Project <String>] 
[-StartupProject <String>] [-Environment <String>] [<CommonParameters>]

  • 5.參數(shù)說明: 

[-Connection] <String>:數(shù)據(jù)庫連接字符串,將使用此連接字符串來讀取數(shù)據(jù)庫架構(gòu)。 
[-Provider] <String>:第二個(gè)參數(shù)是提供程序名稱。提供程序名稱通常是與提供程序的 NuGet 包名稱相同,例如:Pomelo.EntityFrameworkCore.MySql、Microsoft.EntityFrameworkCore.SqlServer 
[-OutputDir <String>]:實(shí)體類文件存放的目錄 
[-Context <String>]:創(chuàng)建到一個(gè)單獨(dú)的目錄從實(shí)體類型類的基架的 DbContext 類。 
[-Schemas <String>]:用于包含在架構(gòu)中的每個(gè)表 
[-Tables <String>]:指定表,例如:Scaffold-DbContext ... -Tables Artist, Album 
[-DataAnnotations]:保留名稱,使用原始數(shù)據(jù)庫名稱,仍將修復(fù)無效的.NET 標(biāo)識符和合成的名稱,如導(dǎo)航屬性仍將遵循.NET 命名約定 
[-Force]:更新模型 
[-Project <String>]:已搭建基架的 DbContext 類名稱將用作后綴的數(shù)據(jù)庫的名稱上下文默認(rèn)情況下。 若要指定一個(gè)不同,使用-Context 
[-StartupProject <String>]:指定要使用的啟動(dòng)項(xiàng)目。如果省略,則使用解決方案的啟動(dòng)項(xiàng)目 
[-Environment <String>] 
[<CommonParameters>] 

  • 6.工作原理

反向工程開始時(shí)讀取數(shù)據(jù)庫架構(gòu)。 它將讀取有關(guān)表、 列、 約束和索引的信息。 
接下來,它使用的架構(gòu)信息創(chuàng)建 EF Core 模型。 使用表來創(chuàng)建實(shí)體類型;使用列來創(chuàng)建屬性;和外鍵用于創(chuàng)建關(guān)系。 
最后,該模型用于生成代碼。 相應(yīng)的實(shí)體類型的類、 Fluent API 和數(shù)據(jù)批注已搭建基架以重新創(chuàng)建相同的模型從您的應(yīng)用程序中。 

  • 7.無效情況 

有關(guān)的信息繼承層次結(jié)構(gòu),固有類型,并表拆分?jǐn)?shù)據(jù)庫架構(gòu)中不存在 
些列類型可能不支持通過 EF Core 提供程序 
表沒有主鍵是當(dāng)前不實(shí)施反向工程。 

  • 8.安裝程序集 

--MySQL版本: 
    MySql.Data.EntityFrameworkCore 
    Pomelo.EntityFrameworkCore.MySql 
    Microsoft.EntityFrameworkCore.Tools 
    Microsoft.VisualStudio.Web.CodeGeneration.Design 
--SQLService版本: 
    Microsoft.EntityFrameworkCore 
    Microsoft.EntityFrameworkCore.SqlServer 
    Microsoft.EntityFrameworkCore.Tools 
    Microsoft.VisualStudio.Web.CodeGeneration.Design 

  • 9.在程序包包管理器控制臺 中執(zhí)行以下語句生成 實(shí)體類 

--MySQL版本: 
第一次生成實(shí)體類: 
Scaffold-DbContext "Server=127.0.0.1;port=3306;Database=db; User=root;Password=root;" Pomelo.EntityFrameworkCore.MySql -OutputDir Models 
更新實(shí)體類:

Scaffold-DbContext "Server=127.0.0.1;port=3306;Database=db; User=root;Password=root;" Pomelo.EntityFrameworkCore.MySql -OutputDir Models -Force

--SQLService版本: 
第一次生成實(shí)體: 
Scaffold-DbContext "Server=127.0.0.1;port=3306;Database=db; User=root;Password=root;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models 
更新實(shí)體類: 
Scaffold-DbContext "Server=127.0.0.1;port=3306;Database=db; User=root;Password=root;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models -Force

注意:

在EF Core 3.0及以上Scaffold-DbContext指令已經(jīng)可以自動(dòng)映射數(shù)據(jù)庫中的視圖為實(shí)體。查詢類型表示可從數(shù)據(jù)庫讀取但無法更新的數(shù)據(jù),它已重命名為無鍵實(shí)體類型。 
由于它們非常適用于映射多數(shù)場景中的數(shù)據(jù)庫視圖,當(dāng)執(zhí)行數(shù)據(jù)庫視圖反向工程時(shí),EF Core 現(xiàn)在將自動(dòng)創(chuàng)建無鍵實(shí)體類型。

protected override void OnModelCreating(ModelBuilder modelBuilder)
{
    modelBuilder.Entity<Names>(entity =>
    {
        entity.HasNoKey();
        entity.ToView("Names");
    });
    modelBuilder.Entity<Things>(entity =>
    {
        entity.HasNoKey();
    });
}

到此這篇關(guān)于.Net Core中使用EFCore生成反向工程的文章就介紹到這了。希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • .net開發(fā)中幾個(gè)重要的認(rèn)識誤區(qū)小結(jié)

    .net開發(fā)中幾個(gè)重要的認(rèn)識誤區(qū)小結(jié)

    .net如今已經(jīng)很流行,成為趕時(shí)髦的程序員的首選。但是,大量剛剛接觸.net的程序員的確存在一定的認(rèn)識誤區(qū),這里先介紹一部分。
    2010-04-04
  • ASP.NET 2.0,C#----圖像特效處理

    ASP.NET 2.0,C#----圖像特效處理

    ASP.NET 2.0,C#----圖像特效處理...
    2007-04-04
  • ASP.NET Core利用Jaeger實(shí)現(xiàn)分布式追蹤詳解

    ASP.NET Core利用Jaeger實(shí)現(xiàn)分布式追蹤詳解

    這篇文章主要給大家介紹了關(guān)于ASP.NET Core利用Jaeger實(shí)現(xiàn)分布式追蹤的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用ASP.NET Core具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • 通過HttpClient 調(diào)用ASP.NET Web API示例

    通過HttpClient 調(diào)用ASP.NET Web API示例

    本篇文章主要介紹了通過HttpClient 調(diào)用ASP.NET Web API示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-03-03
  • Asp.Net中文本換行

    Asp.Net中文本換行

    Asp.Net中文本換行...
    2007-04-04
  • asp.net微信開發(fā)(高級群發(fā)文本)

    asp.net微信開發(fā)(高級群發(fā)文本)

    這篇文章主要介紹了asp.net微信開發(fā)中有關(guān)高級群發(fā)文本的相關(guān)內(nèi)容,需要的朋友可以參考下
    2015-11-11
  • .NET?Core?GC壓縮(compact_phase)底層原理解析

    .NET?Core?GC壓縮(compact_phase)底層原理解析

    GC的最后一個(gè)步驟,分為清除和壓縮兩種情況,清除操作將不可到達(dá)對象轉(zhuǎn)換為Free,而壓縮操作涉及復(fù)制對象并移動(dòng)到新位置,更新所有引用,并重新劃分代邊界,本文介紹.NET Core GC壓縮原理解析,感興趣的朋友一起看看吧
    2025-01-01
  • asp.net 數(shù)據(jù)訪問層 存儲過程分頁語句

    asp.net 數(shù)據(jù)訪問層 存儲過程分頁語句

    在asp.net 網(wǎng)頁中如果在業(yè)務(wù)邏輯層分頁在使用PagedDataSource對象,但如果數(shù)據(jù)記錄過多,使用它會(huì)嚴(yán)重的損害應(yīng)用程序的性能.
    2009-12-12
  • .NET MVC中ViewData,ViewBag和TempData的區(qū)別淺析

    .NET MVC中ViewData,ViewBag和TempData的區(qū)別淺析

    這篇文章主要介紹了.NET MVC中ViewData,ViewBag和TempData的區(qū)別,分析了ViewData,ViewBag和TempData在賦值、功能特性等方面的區(qū)別于用法,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-01-01
  • asp.net中session的原理及應(yīng)用詳解

    asp.net中session的原理及應(yīng)用詳解

    Session是一種Web會(huì)話中的常用狀態(tài)之一,Session提供了一種把信息保存在服務(wù)器內(nèi)存中的方式。他能儲存任何數(shù)據(jù)類型,包含自定義對象,本文將詳細(xì)介紹asp.net中session的原理及應(yīng)用,需要的朋友可以參考下
    2012-11-11

最新評論

永昌县| 仙居县| 满洲里市| 溧阳市| 新乐市| 应用必备| 唐海县| 安徽省| 宜宾县| 哈巴河县| 志丹县| 开原市| 乌什县| 宝坻区| 剑川县| 洪江市| 卢氏县| 封丘县| 嘉祥县| 浠水县| 磴口县| 平塘县| 邵阳市| 阳新县| 太仓市| 新宁县| 凤山市| 阿巴嘎旗| 基隆市| 钦州市| 临海市| 凤凰县| 水城县| 台南县| 池州市| 天门市| 象州县| 沙坪坝区| 大荔县| 开化县| 廉江市|