日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

OsharpNS轻量级.net core快速开发框架简明入门教程-代码生成器的使用

發(fā)布時間:2023/11/30 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 OsharpNS轻量级.net core快速开发框架简明入门教程-代码生成器的使用 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

OsharpNS輕量級.net core快速開發(fā)框架簡明入門教程

教程目錄

  • 從零開始啟動Osharp

    1.1. 使用OsharpNS項目模板創(chuàng)建項目

    1.2. 配置數(shù)據(jù)庫連接串并啟動項目

    1.3. OsharpNS.Swagger使用實例(登錄和授權(quán))

    1.4. Angular6的前端項目啟動

  • Osharp代碼生成器的使用

    2.1 生成器的使用

    2.2 生成代碼詳解(如何自己實現(xiàn)業(yè)務(wù)功能)

  • Osharp部分模塊使用

    3.1 Osharp.Redis使用

    3.2 Osharp.Hangfire使用

    3.3 Osharp.Permissions使用

  • Osharp深度學(xué)習(xí)和使用

    4.1 切換數(shù)據(jù)庫(從SqlServer改為MySql)

    4.2 多上下文配置(多個數(shù)據(jù)庫的使用)

    4.3. 自定義模塊的定義(Senparc.Weixin的使用)

    4.4. 繼續(xù)學(xué)習(xí)中....

  • OsharpNS官方資源
    項目地址:https://github.com/i66soft/osharp-ns20
    演示地址:https://www.osharp.org 直接使用QQ登錄可以查看效果
    文檔地址:https://docs.osharp.org 正在完善中....
    發(fā)布博客:https://www.cnblogs.com/guomingfeng/p/osharpns-publish.html 大神看這個文檔應(yīng)該就能跑起來,從零開始啟動Osharp基于此文檔完成
    VS生成器插件:https://marketplace.visualstudio.com/items?itemName=LiuliuSoft.osharp
    官方交流QQ群:85895249

    Osharp代碼生成器的使用

    目錄

  • 下載并安裝生成器插件

  • 配置項目字段信息

  • 多對一關(guān)系的配置

  • 代碼生成并查看效果

  • 示例代碼配置文件下載

  • 下載并安裝生成器插件

  • 生成器在線下載地址:https://marketplace.visualstudio.com/items?itemName=LiuliuSoft.osharp

  • 也可以通過VS2017菜單欄工具-擴(kuò)展和更新,檢索Osharp進(jìn)行插件的安裝

  • 配置項目字段信息

  • 通過菜單運行Osharp代碼生成器,啟動之后直接全屏
  • 生成器使用流程

    從生成器界面上可以看到,生成器包括項目信息、項目模塊列表、模塊實體列表、外鍵配置、實體屬性列表

    配置流程:

  • 配置項目信息:對項目整體信息進(jìn)行配置

    特別注意:在配置項目信息時,注意對命名空間前綴的配置,以下圖解決方案為例,命名空間前綴就應(yīng)該填寫CanDoo.Test,否則生成的時候會提示識別Osharp項目失敗,影響生成

  • 配置項目模塊:一個系統(tǒng)往往有多個模塊組成,本示例中配置兩個模塊

    代碼名稱:生成后對應(yīng)模塊的命名空間和文件夾

    顯示名稱:模塊的中文含義,會體現(xiàn)在功能模塊的名字上

  • 配置模塊實體:通過點擊對應(yīng)的項目模塊進(jìn)入模塊的實體配置

    代碼名稱:實體名稱

    顯示名稱:實體的中文名字

    主鍵類型:表的主鍵類型,一般是int吧,根據(jù)實際選擇

    增:控制此實體是否生成新增的API,接口,實現(xiàn)

    改:控制此實體是否生成編輯的API,接口,實現(xiàn)

    刪:控制此實體是否生成刪除的API,接口,實現(xiàn)

    數(shù)據(jù)權(quán)限:沒折騰,不知道怎么用

    鎖定:生成IsLocked字段,具體的實現(xiàn)得自己實現(xiàn)

    軟刪除:生成DeletedTime字段,用于標(biāo)識刪除時間

    創(chuàng)建時間:生成創(chuàng)建時間

    創(chuàng)建審計:生成創(chuàng)建時間,創(chuàng)建人Id字段 (包含前面的創(chuàng)建時間)

    更新審計:生成更新時間,更新人Id字段

    外鍵 按鈕:點擊進(jìn)入外鍵配置

  • 配置實體屬性:

    代碼名稱:實體的屬性

    顯示名稱:實體的注釋

    屬性類型全名:實體的數(shù)據(jù)類型,特別注意:如果是實體集合,直接使用ICollection<>即可,如果是關(guān)聯(lián)特定實體,比如關(guān)聯(lián)User,需要填寫User

    只讀:這個應(yīng)該是生成界面時使用的屬性

    排序:這個應(yīng)該是生成界面時使用的屬性

    編輯:這個應(yīng)該是生成界面時使用的屬性

    過濾:這個應(yīng)該是生成界面時使用的屬性

    必填:生成實體的時候會增加[IsRequired]屬性

    最小長度:這個應(yīng)該是生成界面時使用的屬性

    最大長度:這個應(yīng)該是生成界面時使用的屬性

    最小值:這個應(yīng)該是生成界面時使用的屬性

    最大值:這個應(yīng)該是生成界面時使用的屬性

    可空類型:對應(yīng)int?,勾選了,數(shù)據(jù)類型會加"?"

    外鍵:勾選了,說明當(dāng)前屬性是某個實體的外鍵

    導(dǎo)航:勾選了,說明當(dāng)前屬性是某個實體的導(dǎo)航屬性

    關(guān)聯(lián)實體:選擇當(dāng)前字段關(guān)聯(lián)的實體,同一套“外鍵+導(dǎo)航”要選擇相同的關(guān)聯(lián)實體

    輸入DTO:勾選了,此屬性會在實體的InputDto中生成對應(yīng)屬性

    輸出DTO:勾選了,此屬性會在實體的OutputDto中生成對應(yīng)屬性

    默認(rèn)值:控制默認(rèn)值

  • 配置外鍵:

    己方導(dǎo)航屬性:配置實體屬性時,勾選了導(dǎo)航的屬性會在這里顯示供選擇

    己方外鍵屬性:配置實體屬性時,勾選了外鍵的屬性會在這里顯示供選擇

    對方實體: 根據(jù)實際選擇就行

    對方導(dǎo)航屬性:這里的具體設(shè)置看實例吧

    外鍵關(guān)系:有一對多 多對一等選項 一般就用多對一和一對一就行,在外鍵配置部分詳細(xì)說明

    必須:是否必須的

    刪除行為:有多個選項,根據(jù)實際選擇,建議使用Restrict

  • 保存配置:配置過程中,順手就去點一下,免得插件崩潰導(dǎo)致你奔潰

  • 生成代碼:所有配置完成后,點一下保存配置,然后再生成代碼

  • 多對一關(guān)系的配置

    在本教程中,我們使用文章分類~文章~作者這3者來說明多對一關(guān)系的配置

    從文章的角度出發(fā),文章和文章分類是多對一,文章和用戶也是多對一,文章分類和文章是雙方都有對方的導(dǎo)航,文章和用戶的導(dǎo)航只存在于文章中

    文章分類:包含文章集合的導(dǎo)航

    文章:包含文章分類和用戶的導(dǎo)航

    用戶:不包含文章的導(dǎo)航

  • 配置文章分類實體屬性

    配置Articles屬性,屬性類型全名為ICollection<>,因為這個是導(dǎo)航屬性,所以勾選導(dǎo)航,關(guān)聯(lián)實體中配置為關(guān)聯(lián)的實體CanDoo.Test.CMS.Entities.Article

  • 配置文章實體屬性

    配置文章分類關(guān)聯(lián):

    配置ArticleCategoryId屬性,屬性類型全名為System.Int32,因為這個是外鍵,所以勾選外鍵,關(guān)聯(lián)實體中配置為關(guān)聯(lián)的實體CanDoo.Test.CMS.Entities.ArticleCategory;

    配置ArticleCategory屬性,屬性類型全名為ArticleCategory,因為這個是導(dǎo)航屬性,所以勾選導(dǎo)航,關(guān)聯(lián)實體中配置為關(guān)聯(lián)的實體CanDoo.Test.CMS.Entities.ArticleCategory

    配置用戶關(guān)聯(lián):

    配置UserId屬性,屬性類型全名為System.Int32,因為這個是外鍵,所以勾選外鍵,關(guān)聯(lián)實體中配置為關(guān)聯(lián)的實體CanDoo.Test.Identity.Entities.User;

    配置User屬性,屬性類型全名為User,因為這個是導(dǎo)航屬性,所以勾選導(dǎo)航,關(guān)聯(lián)實體中配置為關(guān)聯(lián)的實體CanDoo.Test.Identity.Entities.User

  • 配置外鍵

    配置文章和文章分類的外鍵:己方導(dǎo)航屬性AritcleCategory,己方外鍵屬性AritcleCategoryId,對方實體CanDoo.Test.CMS.Entities.ArticleCategory,對方導(dǎo)航屬性Articles,外鍵關(guān)系ManyToOne,必須就根據(jù)實際需要填寫了,刪除關(guān)系選擇Restrict,配置此屬性,分類下如果存在文章,刪除時會因為關(guān)聯(lián)禁止刪除

    配置文章和用戶的外鍵:己方導(dǎo)航屬性User,己方外鍵屬性UserId,對方實體CanDoo.Test.Identity.Entities.User,對方導(dǎo)航屬性不要填寫,這里能和填寫的做一下對比,外鍵關(guān)系ManyToOne,必須就根據(jù)實際需要填寫了,刪除關(guān)系選擇Restrict,配置此屬性,分類下如果存在文章,刪除時會因為關(guān)聯(lián)禁止刪除

  • 代碼生成并查看效果

  • 當(dāng)配置完成之后,點一下“保存配置”

  • 點一下“生成代碼”按鈕,系統(tǒng)會詢問是否為Osharp解決方案,點"是"就行了

  • 代碼生成之后,已經(jīng)將代碼添加到項目中,可以執(zhí)行編譯,如果有錯,主要就是配置問題或者是有些類庫沒有引用,我在生成之后發(fā)現(xiàn)User實體對應(yīng)的類庫沒有引用,引用之后能正常編譯(當(dāng)然前端中也有代碼生成,因為我不用這個前端,所以就沒仔細(xì)去研究了)

  • 在程序包管理控制臺中運行add-migration -Context DefaultDbcontext initCMS,生成數(shù)據(jù)庫遷移代碼(如果沒有多上下文,執(zhí)行add-migration initCMS即可)

  • 在程序包管理控制臺中運行update-database -Context DefaultDbcontext,執(zhí)行數(shù)據(jù)庫遷移(如果沒有多上下文,執(zhí)行update-database即可)

  • 運行項目,查看Swagger,會發(fā)現(xiàn)對應(yīng)的5張表所有的增刪改查API都已經(jīng)生成,并能正常使用

  • 轉(zhuǎn)載于:https://www.cnblogs.com/candoo/p/10778631.html

    總結(jié)

    以上是生活随笔為你收集整理的OsharpNS轻量级.net core快速开发框架简明入门教程-代码生成器的使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。