OsharpNS轻量级.net core快速开发框架简明入门教程-代码生成器的使用
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)行插件的安裝
配置項目字段信息
生成器使用流程
從生成器界面上可以看到,生成器包括項目信息、項目模塊列表、模塊實體列表、外鍵配置、實體屬性列表
配置流程:
配置項目信息:對項目整體信息進(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)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 江南百景图手游袁洪材料如何获取
- 下一篇: 关于作者