利用代碼生成工具快速生成基於SqlSugar框架的Winform界面項目

来源:https://www.cnblogs.com/wuhuacong/archive/2023/06/29/17513520.html
-Advertisement-
Play Games

我們接觸一個新事物的時候,如果一個事物能夠給我們帶來非常直觀的感官認識,那麼我們就很容易接受,反之可能需要很長時間的潛移默化的瞭解認識才能接受。萬物化繁為簡,透過本質看表象,往往也是一個認知迭代深入的過程。在我介紹很多篇隨筆《SqlSugar開發框架》,能夠看完的肯定不會是一開始就學習的人員,畢竟技... ...


我們接觸一個新事物的時候,如果一個事物能夠給我們帶來非常直觀的感官認識,那麼我們就很容易接受,反之可能需要很長時間的潛移默化的瞭解認識才能接受。萬物化繁為簡,透過本質看表象,往往也是一個認知迭代深入的過程。在我介紹很多篇隨筆《SqlSugar開發框架》,能夠看完的肯定不會是一開始就學習的人員,畢竟技術的陳述是比較枯燥無味的,而最好的認識來自於一些快速的項目演示,本篇隨筆介紹利用《代碼生成工具Database2Sharp》快速生成基於SqlSugar框架的Winform界面項目,一個完整,生成後直接可以運行跑起來的Winform系統界面。道生一,一生二,二生三,三生萬物。直觀快捷的成功展示,比任何深奧的理論來的更加具有說服力。

1、代碼生成工具Database2Sharp的SqlSugar框架項目生成

要瞭解項目的快速生成,需要從我們官網下載《代碼生成工具Database2Sharp》工具後進行使用,該工具支持多種框架的項目開發,我們這裡以SqlSugar開發框架的項目生成為例介紹。

先展開資料庫列表,並從資料庫列表右鍵選擇對應的【SqlSugar框架代碼生成】或者在工具欄中快速選擇操作,如下界面所示。

 在彈出的對話框中選擇對應的表進行框架代碼和Winform界面代碼的一併生成(預設直接生成可運行的WInform界面項目)。

從資料庫列表中選擇部分表進行測試生成。

 一步步生成項目代碼,完成後打開對應的目錄,可以看到對應的代碼分不同的目錄進行存放,其中包括一些DLL應用放在Reference目錄中,核心服務層在SugarPojectCore目錄中,Winform界面端項目在SugarPojectWin目錄中。

 預設很多相關的類庫引用,我們使用Nugget上的引用,預設打開項目後,相關的引用DLL的包文件,VS會自動下載到包文件夾中,如下目錄所示。

 生成後的項目,所有的引用以及相關的結構均以SqlSugar項目標準配備,直接可以運行測試界面效果的了。

2、SqlSugar框架項目運行界面及項目代碼結構

我們生成剛纔的項目,使用VS2022打開後,會看到核心服務層SugarPojectCore項目,以及Winform界面端SugarPojectWin項目兩個。

SugarPojectCore的項目結構如下所示,其中包括了SqlSugar項目框架區分的介面層、實體模型層、服務實現層。

而Winform界面端SugarPojectWin項目已經生成了對應的預設界面文件,項目文件結構如下所示。

項目我們附帶了一些公用性質的界面文件,如系統登錄界面、多文檔主界面,以及一些如註冊、修改密碼、關於的常規界面。

而其中下麵紅框中標識的是我們根據表信息生成的預設界面文件。

不修改任何文件,我們以WInform界面作為預設項目進行編譯測試,首先進入登錄界面窗體,如下所示。

 我們在系統登錄的處理中,模擬了登錄的操作,直接確認進入主界面。

 單擊主窗體工具欄,可以打開其中任意一個剛纔生成的窗體界面文檔,如下所示。

所有的這些工具欄菜單,我們是根據我們所選擇的表進行自動生成相關的菜單信息,如名稱及窗體的地址展示,這樣在單擊某個按鈕運行後,就可以啟動對應的窗體界面了。

在我們沒有做任何編碼工作的前提下,我們就可以直觀的感受到代碼生成效果的魅力,界面效果直接可以展示出相關表的業務數據,我們實際使用的時候,進行一些界面效果的微調及處理就可以了。

預設生成的代碼,具有了常規查詢(多個條件綜合查詢),高級查詢、新建、編輯、 導入導出的功能效果了,對我們快速構建客戶業務功能,具有非常便利的集成處理。

高級功能,我們自動根據實體類的屬性信息進行構建相關的通用界面的,可以支持更強大的條件篩選查詢。

導入操作界面如下所示。

系統預設生成的代碼包含了一些導入的處理代碼,可以根據實際需要進行裁剪優化。 

預設系統整合了分頁控制項,具有通用統一的界面效果,包括常規的窗體功能操作,以及一些列印列表、導出PDF、設置顯示列、複製選擇列表表數據等功能。

 如果預設綜合條件查詢的方式,不太適合實際的業務查詢,也可以在代碼生成工具中進行定製生成,如下操作所示,選擇【Winform界面代碼生成】【SqlSugar框架WInform界面生成】即可。

在【SqlSugar框架WInform界面生成】中定製界面的相關內容,然後生成替換原來的界面窗體文件即可。

 預設系統同時生成一些通用的界面效果,直接整合運行都可以看到,如註冊軟體界面。

 修改密碼界面,在系統管理模塊中入口操作。

系統托盤中展示系統關於信息界面。

 彈出關於信息的界面效果。

另外系統集成了皮膚展示及更換的保存處理,如下界面所示,可以自由更換相關的系統皮膚並存儲,下次自動記住選擇。

 預設生成的編輯或者新增界面,是單列展示的,可以根據需要進行微調,微調的時候,滑鼠按住控制項拖動即可快速調整位置,非常方便。

 生成的系統菜單中,也整合了退出系統、重新登錄兩個常見的菜單,如果需更多的菜單,可以修改代碼進行加入即可。

以上我們所有的界面效果,我們均未改動任何代碼,直接可以生成相關的整個Winform界面項目,以及後端的服務層部分內容,這樣對於我們快速理解代碼生成工具的便利,以及高效開發相關的項目,有很好的認識。

而且我們實際項目的標準來生成基礎案例,我們在開發的時候,不用過多的調整就可以直接運用在客戶項目中了。 

 

專註於代碼生成工具、.Net/.NetCore 框架架構及軟體開發,以及各種Vue.js的前端技術應用。著有Winform開發框架/混合式開發框架、微信開發框架、Bootstrap開發框架、ABP開發框架、SqlSugar開發框架等框架產品。
  轉載請註明出處:撰寫人:伍華聰  http://www.iqidi.com 
    

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • # Markdown示例 本文件的源碼是一個markdown文件,也就是說在本工程中直接添加markdown即可嵌入到sphinx文檔中。 關於使sphinx支持markdown的詳細配置說明,請參考文檔[markdown-sphinx](markdown-sphinx)。 markdown的公式語 ...
  • [toc] # 一、爬蟲對象-豆瓣讀書TOP250 今天我們分享一期python爬蟲案例講解。爬取對象是,豆瓣讀書TOP250排行榜數據: https://book.douban.com/top250 ​![豆瓣網頁](https://img2023.cnblogs.com/blog/2864563 ...
  • [TOC](【後端面經-Java】公平鎖和加鎖流程) ## 1. 公平鎖和非公平鎖 ### 1.1 基本概念 - 公平鎖:線程按照到來的先後順序,排隊等待使用資源。 - 非公平鎖:線程不一定按照先後順序使用資源,而是可能出現“插隊”的情況。 拿游樂場等待娛樂項目舉例,普通游客只能按照先後順序排隊等待 ...
  • 新運營級限速網盤系統網站源碼是一款非常實用的系統,可以幫助您打造一個安全可靠的網盤分享平臺。該系統支持用戶使用微信掃碼登錄,上傳文件分享鏈接可自定義,文件可一鍵保存到我的網盤。此外,該系統還支持微信和支付寶官方介面,易支付介面不強制且可自定義。 需要註意的是,為了保障您的安全,搭建好系統後請儘快在後 ...
  • # Avalonia開發Markdown編輯器 今天熟悉Avalonia UI,做一個Markdown的文本編輯器。 代碼我上傳了Github,地址: [https://github.com/raokun/AvaloniaMarkdown.git](https://github.com/raokun ...
  • # 個人博客-添加RSS訂閱功能 # 前言 個人博客系列已經完成了 - [x] 留言板 - [x] 文章歸檔 - [x] 推薦文章優化 - [x] 推薦文章排序 博客地址:https://pljzy.top 然後博客開源的原作者也是百忙之中添加了一個名為**RSS訂閱**的功能,那麼我就來簡述一下這 ...
  • .NET本身就是一個基於中間件(middleware)的框架,它通過一系列的中間件組件來處理HTTP請求和響應。在之前的文章[《.NET源碼解讀kestrel伺服器及創建HttpContext對象流程》](https://www.cnblogs.com/Z7TS/p/17459777.html)中, ...
  • ## 一:背景 ### 1. 講故事 經常有朋友跟我反饋,說看你的文章就像看天書一樣,有沒有一些簡單入手的dump 讓我們先找找感覺,哈哈,今天就給大家帶來一篇入門級的案例,這裡的入門是從 WinDbg 的角度來闡述的,這個問題如果你通過 記日誌,分析代碼 的方式,可能真的無法解決,不信的話繼續往下 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...