<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          .NET 一行命令輕松生成EF Core項目框架

          共 2474字,需瀏覽 5分鐘

           ·

          2023-08-19 02:13

          前言

          dotnet ef是Entity Framework Core(EF Core)的一個命令行工具,用于管理EF Core應(yīng)用程序的數(shù)據(jù)庫和代碼。除了提供管理數(shù)據(jù)庫的命令之外,dotnet ef還可以生成和管理實體和上下文代碼。
          本文將介紹如何使用dotnet ef動態(tài)生成代碼。

          一、環(huán)境準備

          1、項目準備

          用VS 2022新建一個.NET 6的asp.net core mvc項目,然后按照:工具->Nuget包管理器->nuget管理解決方案包。

          安裝一些nuget包

          Microsoft.EntityFrameworkCore.Design
          Microsoft.EntityFrameworkCore.SqlServer
          Microsoft.EntityFrameworkCore.Tools

          或者用nuget命令安裝

          Install-Package Microsoft.EntityFrameworkCore.Design
          Install-Package Microsoft.EntityFrameworkCore.SqlServer
          Install-Package Microsoft.EntityFrameworkCore.Tools

          2、安裝dotnet ef

          工具->Nuget包管理器->程序包管理控制臺

          執(zhí)行

          dotnet tool install --global dotnet-ef --version x.x.x

          注:這里的包版本要和上面的版本一致,這個包直接通過右鍵管理程序nuget包方式安裝會報沖突錯誤,誰知道原因可以說一下。

          安裝成功標志

          二、生成代碼

          在VS 2022中點擊項目右鍵,選擇"在終端中打開"。

          在命令行中運行以下命令,生成實體類,模型的代碼:

          dotnet ef dbcontext scaffold "Data Source=.;Initial Catalog=Wan;Persist Security Info=True;User ID=sa;Password=654321;TrustServerCertificate=true" Micros
          oft.EntityFrameworkCore.SqlServer --output-dir Entities --context NewDbContext

          上面腳本解釋:

          scaffold后面是數(shù)據(jù)庫鏈接字符串,--output-dir參數(shù)指定輸出目錄,--force參數(shù)表示強制覆蓋生成的文件。

          運行這個命令將生成一個或多個實體類的代碼。

          --context參數(shù)為指定上下文類的名稱。

          亦可以用以下命令一鍵生成。

          dotnet ef dbcontext scaffold "Data Source=.;Initial Catalog=Wan;Persist Security Info=True;User ID=sa;Password=654321;TrustServerCertificate=true" Microsoft.EntityFrameworkCore.SqlServer  -o Models

          -o Models的意思是將生成的實體類文件輸出到名為Models的文件夾中。

          這里沒有指定上下文,默認上下文的文件名為數(shù)據(jù)庫名稱。

          效果如下:

          片段代碼如下:

          小插曲:

          在生成代碼時遇到如下問題:

          A connection was successfully established with the server, but then an error occurred during the login process. (provider: SSL Provider, error: 0 - 證書鏈是由不受信任的頒發(fā)機構(gòu)頒發(fā)的。)

          解決方法直接在“數(shù)據(jù)庫連接字符串最后面”增加證書信任的配置。;TrustServerCertificate=true。

          結(jié)語

          使用dotnet ef可以輕松地生成實體和上下文類的代碼。在EF Core應(yīng)用程序中,這是一個非常方便的工具,因為它可以減少手動編寫代碼的時間,并提供了基本的代碼框架,使您可以專注于業(yè)務(wù)邏輯的實現(xiàn)。

          本文介紹了它的實現(xiàn)步驟,僅供參考,希望本文對你有所收獲,同時歡迎留言和吐槽。

          轉(zhuǎn)自:翔星

          鏈接:mp.weixin.qq.com/s/BpBS88M_ukyTgTeE-ZZMnQ







          回復(fù) 【關(guān)閉】學(xué)永久關(guān)閉App開屏廣告
          回復(fù) 【刪除】學(xué)自動檢測那個微信好友刪除、拉黑
          回復(fù) 【手冊】獲取3萬字.NET、C#工程師面試手冊
          回復(fù) 【幫助】獲取100+個常用的C#幫助類庫
          回復(fù) 【加群】加入DotNet學(xué)習(xí)交流群


          瀏覽 741
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  一级操逼网站 | 国产精品豆花视频 | 国产传媒一区二区三区 | 亚洲观看在线 | 无码A区 久久99久久99久久99国内少妇精品 |