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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

代码生成工具随笔(2) ---我的生成工具

發布時間:2025/3/17 编程问答 14 豆豆
生活随笔 收集整理的這篇文章主要介紹了 代码生成工具随笔(2) ---我的生成工具 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目前有很多代碼生成工具,很多做得很好,我在上一篇關于代碼生成工具的隨筆(代碼生成工具隨筆(1) ---關于代碼生成器 )中,大概介紹了一些代碼生成工具的現狀,也得到很多人的關注。
由于本人很早就在代碼生成工具方面有所研究,因此在開發過程中沒有使用CodeSmith,MyGeneration子類的生成工具,我覺得很多地方使用這些工具還是很麻煩,按照別人定制模板總是感覺很乏味,沒有滿足感和成就感,感覺自己掌握生成工具的核心代碼總是很好(實際上也是,而且可以很快定制出新的架構代碼生成),另外如果自己掌握了數據庫的一些信息,還可以作很多事情,不僅僅是一般的代碼生成了, 如還可以生成數據庫文檔,測試數據導入等等的一些。
在實際的開發中,公司很多同事、朋友都提出了很多很好的建議和需求,因此我的代碼生成工具也在不斷的改進完善中,從開始的一般代碼生成,到一個架構完整解決方案的生成, 從開始的控制臺程序到整合很多功能Windows Forms 程序,一切都不斷的完善中...

本站的代碼生成工具已經放在了www.iqidi.com上,可供下載使用

我的C#代碼生成工具下載地址:
(個人網站)下載地址:http://www.iqidi.com/Download/Database2SharpSetup.rar
(華軍軟件)下載地址:http://www.newhua.com/soft/54592.htm
(天空網站)下載地址:http://www.skycn.com/soft/32456.html?
下面截一些圖像,對C#代碼生成工具進行介紹,希望能夠給大家帶來更多的信息和幫助。
1。支持NHibernate代碼和PetShop架構代碼的生成(多種形式).
2。可以查看數據庫的信息和實現查詢分析器的功能,可以很快地看看數據庫的信息哦
3。數據庫文檔的生成,在模塊設計中非常有用,誰想去寫描述和字段名稱,類型的對應關系呢,笨!
4。測試數據腳本的生成,在外鍵非常復雜的表中,我們想添加一條記錄都是很容易哦,這個可以更加表的外鍵關系調整插入測試數據的順序,很周到吧。
5。最新加入了Web界面自動生成功能
6。最新加入了Castle的ActiveRecord代碼生成功能

Database2Sharp升級到V3.5版本功能增加或者改進: 1. 增加國際化語言支持(提供中文和英文兩種界面)
2. 增加數據庫表結構SQL腳本的生成(各種不同的數據庫生成不同的SQL腳本),在打開表信息的時候同時在下方生成。
3. 增加Select、Update、Insert和Delete基本語句代碼的生成。
4. 增加實體類快速生成的功能,直接在窗體中打開,并用語法高亮顯示。
5. 增加可以對表進行選擇性生成代碼的功能。
6. 增加對MySQL數據庫GBK的支持,方便使用中文操作,完好支持MySQL5.0。
7. 改善SQL Analyzer和測試SQL腳本的操作。
8. 改善數據庫配置項管理,提供更方便簡單的操作。

?

下面這個是代碼生成工具生成的代碼,一個解決方案中包括各層所需要的代碼哦,另外Petshop架構一、三中生成實體類對應的集合,我們完全可以使用該集合代替ArrayList,而且該集合對象是采用目前最好的實現方式來做的,繼承自可以排序的集合類。目前我還沒有完成頁碼代碼的生成,下一步工作就是要做這個事情,呵呵。
?
NHibernate代碼主要是生成實體類的代碼和HBM文件, 這些類的關系是自動根據您的表關系自動完成的哦,比較智能吧

Web界面代碼和后臺操作代碼等自動生成,你如果開發Web的話,會節省你很多調整界面的時間,加快開發效率


Castle代碼目前主要是生成實體類的代碼(包含各種ActiveRecord所需要的Attribute), 關系自動生成,模版代碼的定制能力更強。
using System;
using System.Collections;
using System.Xml.Serialization;
using Castle.ActiveRecord;

namespace HuaweiSoftware.IPSPBD.Entity
{
??? [ActiveRecord("Product")]
??? public class ProductInfo : ActiveRecordBase
??? {
??????? #region 成員變量

??????? private IList m_itemList;????????
??????? private string m_productId;????????
??????? private CategoryInfo m_category;????????
??????? private string m_name;????????
??????? private string m_descn;????????

??????? #endregion

??????? #region 屬性

??????? [HasMany(typeof(ItemInfo), Table="Item", ColumnKey="ProductId")]
???????? public virtual IList ItemList
??????? {
??????????? get
??????????? {
??????????????? return this.m_itemList;
??????????? }
??????????? set
??????????? {
??????????????? this.m_itemList = value;???????????????
??????????? }
??????? }

??????? [PrimaryKey(PrimaryKeyType.Assigned, "ProductId")]
???????? public virtual string ProductId
??????? {
??????????? get
??????????? {
??????????????? return this.m_productId;
??????????? }
??????????? set
??????????? {
??????????????? this.m_productId = value;???????????????
??????????? }
??????? }

??????? [BelongsTo("Category")]
???????? public virtual CategoryInfo Category
??????? {
??????????? get
??????????? {
??????????????? return this.m_category;
??????????? }
??????????? set
??????????? {
??????????????? this.m_category = value;???????????????
??????????? }
??????? }

??????? [Property("Name")]
???????? public virtual string Name
??????? {
??????????? get
??????????? {
??????????????? return this.m_name;
??????????? }
??????????? set
??????????? {
??????????????? this.m_name = value;???????????????
??????????? }
??????? }

??????? [Property("Descn")]
???????? public virtual string Descn
??????? {
??????????? get
??????????? {
??????????????? return this.m_descn;
??????????? }
??????????? set
??????????? {
??????????????? this.m_descn = value;???????????????
??????????? }
??????? }
??????? #endregion
???????
??????? #region 靜態方法
???????
??????? public static void DeleteAll()
??????? {
??????????? ActiveRecordBase.DeleteAll(typeof(ProductInfo));
??????? }
???????
??????? public static ProductInfo[] FindAll()
??????? {
??????????? return ((ProductInfo[])(ActiveRecordBase.FindAll(typeof(ProductInfo))));
??????? }
???????

???????? public static ProductInfo Find(string ProductId)
??????? {
??????????? return ((ProductInfo)(ActiveRecordBase.FindByPrimaryKey(typeof(ProductInfo), ProductId)));
??????? }
????
???????
??????? #endregion

??? }
}

總結

以上是生活随笔為你收集整理的代码生成工具随笔(2) ---我的生成工具的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。