<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>

          NutGender快速代碼生成工具

          聯(lián)合創(chuàng)作 · 2023-09-28 02:33

          NutGender是一個快速代碼生成工具,使用簡單的配置即可生成多數(shù)據(jù)庫、種子數(shù)據(jù)、以及基礎(chǔ)的增刪改查和復(fù)雜查詢等,可以快速構(gòu)建API應(yīng)用。

          本工具使用控制臺接入,全部過程只需要對JSON配置文件進行簡單配置以及幾行導(dǎo)入代碼,即可生成數(shù)據(jù)庫、種子數(shù)據(jù)、相關(guān)映射類,以及MVC的相關(guān)代碼。使得初始數(shù)據(jù)環(huán)境可以快速的搭建,并且更方便地在不同機器和環(huán)境中移動。

          安裝引用

          1. Nuget CLI:
          dotnet add package NutGender --version 1.0.1.2
          
          1. PackageReference
          <PackageReference Include="NutGender" Version="1.0.1.2" />
          

          接入步驟

          1. 使用控制臺程序引導(dǎo)
                  public static void Main(string[] args)
                  {
                      GenderLoadler.Instance.InitConfiguration(); //初始化配置文件
                      GenderLoadler.Instance.CreateTableAndSeed();//創(chuàng)建表及相應(yīng)種子數(shù)據(jù)
                      GenderLoadler.Instance.CreateCSharpCodeAll(); //創(chuàng)建C#代碼
                      Console.WriteLine("按任意鍵繼續(xù)...");
                      Console.ReadLine();
                  }
          
          1. 配置文件 默認的配置文件為nutgender.json,您也可以定義多個配置文件,進行批量和條件化地導(dǎo)出,具體參數(shù)如下
          {
            //數(shù)據(jù)庫類型
            "SQLType": "mysql",
            //連接字符串(不帶數(shù)據(jù)庫名)
            "ConnectionString": "[你的數(shù)據(jù)庫連接]",
            //數(shù)據(jù)庫名
            "Schema": "nuttest",
            //生成代碼配置
            "Code": {
              //代碼命名空間
              "Namespace": "NutCode",
              //模型映射路徑
              "ModelPath": "D:\\Code\\Models",
              //DAL層代碼導(dǎo)出路徑
              "StoragePath": "D:\\Code\\DAL",
              //服務(wù)層代碼導(dǎo)出路徑
              "ServicePath": "D:\\Code\\BAL",
              //MVC層代碼導(dǎo)出路徑
              "ControllerPath": "D:\\Code\\API",
              //自定義查詢生成類(VO)路徑
              "ViewPath": "D:\\Code\\Views"
            },
            //所有表
            "Tables": [
              //用戶表
              {
                //表中文名
                "CnName": "用戶表",
                //表英文名
                "EnName": "TUser",
                //字段
                "Fields": [
                  {
                    "CnName": "主鍵",
                    "EnName": "Id",
                    "isPrimary": true
                  },
                  {
                    "CnName": "部門Id",
                    "EnName": "DeptId",
                    "DbType": "bigint",
                    "isPrimary": false,
                    "isNotNull": true
                  },
                  {
                    "CnName": "名稱",
                    "EnName": "Name",
                    "isPrimary": false,
                    "isNotNull": true
                  },
                  {
                    "CnName": "年齡",
                    "EnName": "Age",
                    "DbType": "int",
                    "isPrimary": false
                  },
                  {
                    "CnName": "創(chuàng)建時間",
                    "EnName": "CreateDate",
                    "DbType": "DateTime",
                    "isPrimary": false
                  }
                ],
                //自定義查詢接口
                "CustomQuery": [
                  {
                    "EnName": "SelectDict",
                    "CnName": "查詢字典",
                    "ParamType": [
                      [ "@Did", "bigint", "外鍵部門Id" ] //參數(shù)若存在于當(dāng)前表中,則Gender自動檢索類型,不需要定義類型;若不存在于當(dāng)前表中則需要自定義參數(shù)類型,否則代碼導(dǎo)出為object
                    ],
                    "ResultType": "List<?>", //問號代表自動生成的返回類,如果該字段不寫則默認返回List<?>
                    //"Sql": "SELECT u.Name,u.Age,d.Name as DeptName FROM TUser u LEFT JOIN TDept d ON d.Id = u.DeptId Where u.Age = @Age AND d.Id = @DeptId;",
                    "Sql": "SELECT u.Name,u.Age,d.Name as DeptName FROM TUser u LEFT JOIN TDept d ON d.Id = u.DeptId Where u.Age = @Age AND d.Id = @Did;"
                  }
                ],
                //種子數(shù)據(jù)
                "Seeds": {
                  "Keys": "Id,Age,Name,DeptId,CreateDate",
                  "Vals": [
                    "guid(),31,'alpha',1,now()",
                    "guid(),32,ranstr(),1,now()",
                    "guid(),23,ranstr(),1,now()",
                    "guid(),26,ranstr(),1,now()",
                    "guid(),34,'delta',1,now()"
                  ]
                }
              },
              //部門表
              {
                //表中文名
                "CnName": "部門表",
                //表英文名
                "EnName": "TDept",
                //字段
                "Fields": [
                  {
                    "CnName": "主鍵",
                    "EnName": "Id",
                    "DbType": "bigint",
                    "isPrimary": true
                  },
                  {
                    "CnName": "部門名",
                    "EnName": "Name",
                    "isPrimary": false,
                    "isNotNull": true
                  },
                  {
                    "CnName": "創(chuàng)建時間",
                    "EnName": "CreateDate",
                    "DbType": "DateTime",
                    "isPrimary": false
                  }
                ],
                //自定義查詢接口
                "CustomQuery": [
                  {
                    "EnName": "SelectDict",
                    "CnName": "查詢字典",
                    "Sql": "SELECT Name as Value,Id as Label From TDept;"
                  }
                ],
                //種子數(shù)據(jù)
                "Seeds": {
                  "Keys": "Name,CreateDate",
                  "Vals": [
                    "'信息部',now()",
                    "'業(yè)務(wù)部',now()"
                  ]
                }
              }
          
            ]
          }
          
          瀏覽 27
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

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

          手機掃一掃分享

          編輯 分享
          舉報
          <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>
                  青娱乐免费 | 99热精品在线播放 | 一级欧美另类 | 欧美成人生活片一区三区 | 99视频自拍 |