動(dòng)軟實(shí)戰攻略
文檔編號:20110421
版權所有 2004-2011 動(dòng)軟
在線(xiàn)幫助:http://help.maticsoft.com

目錄
動(dòng)軟.Net代碼生成器 是一款為.Net程序員設計的自動(dòng)代碼生成器,也是一個(gè)智能化軟件開(kāi)發(fā)平臺,它可以生成基于面向對象的思想和三層架構設計的代碼,結合了軟件開(kāi)發(fā)中經(jīng)典的思想和設計模式,融入了工廠(chǎng)模式,反射機制等等一些思想。主要實(shí)現在對應數據庫中表的基類(lèi)代碼的自動(dòng)生成,包括生成屬性、添加、修改、刪除、查詢(xún)、存在性、Model類(lèi)構造等基礎代碼片斷,支持不同架構代碼生成,使程序員可以節省大量機械錄入的時(shí)間和重復勞動(dòng),而將精力集中于核心業(yè)務(wù)邏輯的開(kāi)發(fā)。 動(dòng)軟代碼生成器 同時(shí)提供便捷的開(kāi)發(fā)管理功能和多項開(kāi)發(fā)工作中常用到的輔助工具功能,您可以很方便輕松地進(jìn)行項目開(kāi)發(fā)。
動(dòng)軟讓軟件開(kāi)發(fā)變得輕松而快樂(lè )!讓企業(yè)不斷提升開(kāi)發(fā)效率,同樣的時(shí)間創(chuàng )造出更大的價(jià)值。
1. 系統要求:
Microsoft Windows2000/XP/2003/7 或者更高。機器必須安裝.NET Framework v2.0。
2. 官方下載地址:http://www.maticsoft.com/download.aspx
3. 下載解壓后安裝包有如下文件:

Codematic2.msi 是動(dòng)軟.NET代碼生成器的安裝文件。
Builder文件夾是代碼生成插件的源碼,動(dòng)軟.NET代碼生成器支持可擴展的代碼生成插件,用戶(hù)可以定制自己的代碼生成的插件,根據接口開(kāi)發(fā)自己的代碼生成方式,按自己的需求進(jìn)行代碼生成。
Codematic_Data.MDF和Codematic_Log.LDF 是通過(guò)動(dòng)軟新建項目中所帶管理模塊所需要的數據庫文件。后臺管理員默認登錄用戶(hù)名:admin 密碼:1
4. 雙擊Codematic2.msi 進(jìn)行直接安裝即可。
安裝動(dòng)軟時(shí),如果用戶(hù)機器360彈出警告,那僅僅是個(gè)簽名認證提示,并非木馬,選擇“繼續安裝”,然后點(diǎn)擊“確定”即可。

動(dòng)軟鄭重聲明: 動(dòng)軟.NET代碼生成器,絕無(wú)插件木馬,純綠色軟件。請放心安裝。
5. 安裝成功后,在開(kāi)始-菜單和桌面上會(huì )有動(dòng)軟.NET代碼生成器的圖標。
安裝完成后,首先要做的就是注冊數據庫的連接,因為所有的代碼生成都將從數據庫中獲取數據結構信息進(jìn)行生成。
1. 在軟件界面的左側數據庫視圖窗口,選擇【服務(wù)器】,右鍵出現菜單:


2. 選擇【添加服務(wù)器】,然后,出現“選擇數據庫類(lèi)型”窗口

3. 根據自己的實(shí)際情況,選擇一個(gè)機器上有的或自己項目中在用的數據庫類(lèi)型。并確保你選擇的數據庫是可以正常訪(fǎng)問(wèn)的。然后,【下一步】。
4. 如果選擇的是SQL Server,則會(huì )出現:

注意事項:
(1) 輸入服務(wù)器IP地址,如果是本機也可以是:(local) 或是 . 或者 127.0.0.1。
如果服務(wù)器并非只有一個(gè)默認實(shí)例,請采用:服務(wù)器\實(shí)例名 的方式連接。
(2)一定要選擇和實(shí)際數據庫服務(wù)器版本一致的選項,否則會(huì )導致連接數據庫錯誤。
注意:請使用SQLServer的企業(yè)版或正式版本,不能是SQL EXPRESS版,否則無(wú)法連接。
(3)身份驗證可以選擇是SQL Server認證,還是Windows認證。
(4)輸入數據庫服務(wù)器用戶(hù)名密碼。如果不知道,請聯(lián)系你的數據庫管理員。
(5)如果數據庫的表比較多,連接速度會(huì )比較慢,啟用【高效連接模式】實(shí)現快速連接。
(6)可以通過(guò)【連接/測試】,來(lái)連接服務(wù)器并獲取數據庫列表,從而可以實(shí)現只選擇連接一個(gè)庫進(jìn)行操作,減少不必要的連接時(shí)間,提高工作效率。
5. 如果選擇的是Oracle

輸入您自己安裝過(guò)的Oracle的管理員用戶(hù)名和密碼,服務(wù)就是安裝的Oracle服務(wù)名,一般默認是Oracle所在的機器名,如果不確定,請聯(lián)系您的數據庫管理員。
6. 如果選擇的是MySQL

7. 如果選擇的是Oledb

在地址文本框,可以直接輸入Access庫的文件地址,注意:庫文件盡量不要放在桌面,并且確保你的文件地址正確。如果你的Access并沒(méi)有設置密碼,下面的密碼可以不用管。
8. 如果選擇的是SQLite

9. 在以上步驟確定后,動(dòng)軟.NET代碼生成器的數據庫視圖就出現了數據庫服務(wù)器的信息。

1. 在數據庫上右鍵,【瀏覽數據庫】,通過(guò)選擇庫和表可以查看表和字段的信息。


2. 選擇【新建查詢(xún)】菜單,即出現SQL的查詢(xún)分析器窗口,可以輸入SQL語(yǔ)句進(jìn)行查詢(xún)。
3. 在表上,右鍵選擇【瀏覽表數據】,可以查看表的數據內容。


4.
在看過(guò)了基本的數據庫管理功能之外,下面我們就可以開(kāi)始生成代碼了。
首先,一般第一次生成,我們要生成的是整個(gè)項目框架。
1. 選中數據庫,然后右鍵:【新建NET項目】,或者直接點(diǎn)工具欄上的快捷圖標均可。

2. 然后,選擇項目類(lèi)型和版本:

l 簡(jiǎn)單三層結構:生成標準的三層架構項目。
l 工廠(chǎng)模式結構:生成基于工廠(chǎng)模式的項目架構,適合一個(gè)項目多數據庫類(lèi)型的情況。
l 簡(jiǎn)單三層結構(管理):生成標準的三層架構項目,并且帶有基本的系統管理功能和界面,這些通用的功能主要是節省開(kāi)發(fā)人員的時(shí)間,可以在此基礎上直接去開(kāi)發(fā)自身業(yè)務(wù)模塊。
這里暫以“簡(jiǎn)單三層結構(管理)”為例進(jìn)行說(shuō)明。
3. 點(diǎn)擊【下一步】,選擇要生成的表和配置:

雙擊選擇要生成的表,選到右側列表框。然后點(diǎn)擊【開(kāi)始生成】即可。
如果需要修改一些配置可以修改你自己的命名空間名字,是否去掉表的前綴。
代碼模板組件類(lèi)型,一般初學(xué)者建議默認即可。
相關(guān)組件說(shuō)明:
BuilderDALParam 數據訪(fǎng)問(wèn)層(DAL)基于Parameter方式的代碼生成組件(推薦)
BuilderDALProc 數據訪(fǎng)問(wèn)層(DAL)基于存儲過(guò)程方式的代碼生成組件
BuilderDALSQL 數據訪(fǎng)問(wèn)層(DAL)基于SQL拼接方式的代碼生成組件
BuilderDALTranParam 數據訪(fǎng)問(wèn)層(DAL)帶有事務(wù)的代碼生成組件
DAL由于不同項目要求不同,根據項目需求,選擇其中一種方式即可。
BuilderBLLComm 基于標準的業(yè)務(wù)邏輯層代碼(BLL)
BuilderModel Model層的代碼生成組件
BuilderWeb 表示層的代碼生成組件
備注:代碼還有一些生成規則,是在菜單【工具】-【選項】-【代碼生成設置】中進(jìn)行設置。
4. 點(diǎn)擊【開(kāi)始生成】,則開(kāi)始進(jìn)行代碼的生成

直到出現“項目工程生成成功”提示,項目生成完畢。
5. 打開(kāi)生成的文件夾

6. 雙擊解決方案文件,打開(kāi)整個(gè)項目如圖:

注:“簡(jiǎn)單三層結構” 目前暫時(shí)是VS2005版本,是為了兼容當前還在用2005的朋友。如果你使用的是VS2008,生成項目后,請先打開(kāi)VS2008,選擇【菜單-文件-打開(kāi)項目】的方式打開(kāi)該項目,此時(shí)會(huì )提示升級項目版本,選擇升級一下項目版本到VS2008或VS2010即可,對代碼沒(méi)有任何影響。
7. 打開(kāi)Web項目,選中剛才選擇生成的那幾個(gè)表的頁(yè)面文件夾,右鍵【包括在項目中】

8. 打開(kāi)web項目下web.config修改數據庫連接字符串。
注意:新建項目后,請記得先將安裝包里附帶的數據庫文件Codematic_Data.MDF 附加到SQLServer中。
如果需要加密,可以使用安裝包里的加解密工具(官方下載該工具)。

9. 然后,選擇解決方案進(jìn)行重新生成整個(gè)解決方案。整個(gè)創(chuàng )建項目過(guò)程即全部完成。

10. 如果編譯沒(méi)有錯誤, 直接按F5鍵運行即可。整個(gè)創(chuàng )建項目過(guò)程即全部完成。
運行啟動(dòng)登錄頁(yè)面login.aspx,輸入用戶(hù)名:admin,密碼:1
即登錄動(dòng)軟系統框架的后臺,界面如下


新建項目功能只適合于第一次,因為不可能每次都新建項目,特別是項目已經(jīng)在開(kāi)發(fā)中。所以,以后的項目開(kāi)發(fā)中更多的應用的是【批量代碼生成】功能。批量代碼生成特別適合項目后期追加代碼時(shí)使用。
1. 選中數據庫或者表,然后單擊右鍵菜單【代碼批量生成】

2. 出現的窗口和新建項目基本相似,只是多了一個(gè)選中架構的選項。

備注:代碼還有一些生成規則,是在菜單【工具】-【選項】-【代碼生成設置】中進(jìn)行設置。
3. 選則要生成的表,然后點(diǎn)擊【導出】
4. 在生成的文件夾中,我們可以看到:

批量生成代碼只生成業(yè)務(wù)表的代碼,不再有解決方案文件和項目文件,以及其它類(lèi)庫等。我們可以將生成的這些文件直接拖到現有的解決方案中即可。
除了新建項目和批量代碼生成,偶爾我們希望更個(gè)性化自定義一些代碼生成的字段,而不是全部的自動(dòng)生成,這是我們可以考慮針對單表的代碼生成。
1. 在左側【數據庫視圖】,選中表,右鍵菜單【單表代碼生成器】

2. 然后,出現單表的代碼生成器界面,我們設置自己需要更改的信息。

選項說(shuō)明:
項目名稱(chēng):主要用在生成DB腳本中。
二級命名空間:指的是這個(gè)類(lèi)放在某一個(gè)二級文件夾下,從而命名空間中應該帶這個(gè)文件夾的名字。
頂級命名空間:就是項目的命名空間名稱(chēng)。
類(lèi)名:可以自己根據表名定義自己需要的名字。
類(lèi)型:主要是生成什么代碼,DB腳本主要生成表的存儲過(guò)程和表的創(chuàng )建腳本及數據腳本。
架構選擇:目前僅支持這3種最常用的架構。
代碼類(lèi)型:指生成指定架構中具體某一個(gè)項目中的代碼。
代碼模板組件類(lèi)型:指生成代碼的方式,因為即使同一個(gè)代碼有很多的寫(xiě)法,組件主要實(shí)現的是不同的寫(xiě)法,但每種寫(xiě)法實(shí)現的功能都是一樣的。主要看項目需要和個(gè)人習慣進(jìn)行選擇。
方法選擇:指生成最基本的增刪改查的方法代碼,后續版本將支持用戶(hù)自定義這些方法。
備注:代碼還有一些生成規則,是在菜單【工具】-【選項】-【代碼生成設置】中進(jìn)行設置。
3. 然后,點(diǎn)擊【生成代碼】按鈕,即可生成該類(lèi)的代碼:

生成的代碼,可以直接復制到項目文件中,也可以右鍵保存成CS文件。
通過(guò)窗體下面的Tab按鈕可以來(lái)回切換設計視圖和代碼。
日常開(kāi)發(fā)中,經(jīng)常會(huì )遇到父子表的情況,同時(shí)需要父子表的記錄保存需要在事務(wù)中實(shí)現,以保證數據的一致性。動(dòng)軟也在功能上做了這方面的考慮。
1. 在表上,右鍵,選擇【父子表代碼生成(事務(wù))】:


父子表的代碼生成分3步窗體:1,2,3,當前第一個(gè)窗體主要設置父表和子表,以及二者主外鍵關(guān)聯(lián)的字段。
2. 然后,選擇【繼續設置】

3. 點(diǎn)擊【生成類(lèi)代碼】:

這里的所有插入語(yǔ)句都將放在一個(gè)事務(wù)里完成。
打開(kāi)菜單【工具】-【選項】-【代碼生成設置】


這些配置保存后,在生成代碼的時(shí)候將按照這個(gè)規則進(jìn)行生成。
代碼生成的規則設置范圍還在不斷增加中。
另外,不同數據庫類(lèi)型的數據類(lèi)型各有不同,這里提供了字段類(lèi)型和C#中的類(lèi)型建立映射關(guān)系,生成代碼時(shí)將按映射關(guān)系來(lái)生成代碼字段屬性的類(lèi)型。

對于習慣使用存儲過(guò)程的用戶(hù),手寫(xiě)表的增、刪、改、查的存儲過(guò)程也是非常頭大的事情,動(dòng)軟提供了可以自動(dòng)生成數據表增刪改查的存儲過(guò)程腳本生成。
主要通過(guò)以下幾個(gè)地方進(jìn)行生成:
1. 單表的存儲過(guò)程生成:
在表上,右鍵選擇【生成存儲過(guò)程】

或者:在表上右鍵,選擇【單表代碼生成器】,可以更靈活的定義生成存儲過(guò)程。


2. 批量表的存儲過(guò)程生成。
在數據庫上,右鍵,選擇【生成存儲過(guò)程】,或者選擇【導出文件】-【存儲過(guò)程】。都將生成整個(gè)數據庫中所有表的存儲過(guò)程。

有時(shí)候需要遷移數據庫,或者生成表結構腳本,導出數據腳本到別的數據庫,日常開(kāi)發(fā)中也比較常見(jiàn),這個(gè)可以通過(guò)動(dòng)軟自動(dòng)生成SQL腳本功能來(lái)幫您節省大量的時(shí)間。
主要通過(guò)以下幾個(gè)地方進(jìn)行生成:
1. 單表的數據腳本生成
在表上右鍵,選擇【生成數據腳本】

或者,在表上右鍵,選擇【單表代碼生成器】,可以更靈活的定義生成存儲過(guò)程

生成后:

2. 批量表的數據腳本生成。

出現生成SQL數據庫腳本窗口,選擇保存的文件名,點(diǎn)擊【生成】即可。

3. 根據查詢(xún)結果生成數據腳本。
有時(shí)候我們并不像生成整個(gè)表的數據腳本,也許表很大,或者其他數據并不需要,只是需要一部分我們需要的數據,生成腳本后,執行導入到其他庫,這時(shí)候我們可以使用動(dòng)軟代碼生成器的這個(gè)功能。
在數據庫上,右鍵【新建查詢(xún)】,或者選擇菜單【工具】-【查詢(xún)分析器】,打開(kāi)查詢(xún)語(yǔ)句窗口,輸入我們的查詢(xún)語(yǔ)句,然后單擊右鍵,選擇【生成當前查詢(xún)結果的數據腳本】:

則生成的腳本僅僅包括語(yǔ)句查詢(xún)結果的數據腳本:

如此方便的功能,不得不說(shuō)很貼心哦。
除此之外,我們可以看到,還有一個(gè)非常貼心的功能,就是如果數據訪(fǎng)問(wèn)層使用的是基于SQL拼接的方式的DAL,有時(shí)候為了拼寫(xiě)一段長(cháng)長(cháng)的SQL語(yǔ)句,眼都看花了,看看動(dòng)軟這個(gè)功能吧:
在查詢(xún)分析器中,測試我們的查詢(xún)語(yǔ)句,然后,右鍵選擇【生成當前查詢(xún)SQL語(yǔ)句的拼接代碼】

生成后,這些代碼我們直接就可以復制到數據訪(fǎng)問(wèn)層,不用再用手一個(gè)個(gè)敲了,省出來(lái)的時(shí)間我們可以去喝咖啡嘍。

日常開(kāi)發(fā),表一多,是不是就頭疼每個(gè)字段什么意思,以及數據庫總是變,文檔維護起來(lái)很麻煩。特別是新人加入項目團隊時(shí),如果沒(méi)有數據庫文檔,那么更是云里霧里的搞不清各種數據的意思。動(dòng)軟.NET代碼生成器,可以幫你解決這個(gè)問(wèn)題,它可以根據選定的數據庫和表批量生成所有表的字段詳細信息,包括默認值,描述等表結構信息。免去手工寫(xiě)文檔和維護的麻煩,真的不用加班熬夜,可以早回家了。
1. 選中要生成的數據庫,然后選中工具欄【生成數據庫文檔】按鈕。

2. 然后,選中需要生成的表

這里提供了兩種格式的文檔,一種是Word格式的,但需要本機安裝Office2003或2007。另一種是網(wǎng)頁(yè)格式,可以生成兩種界面風(fēng)格的網(wǎng)頁(yè)格式數據庫文檔。



當Web項目開(kāi)發(fā)完畢,我們一般需要把項目發(fā)布到一個(gè)測試服務(wù)器或者生產(chǎn)環(huán)境去,但發(fā)布的時(shí)候,只想發(fā)布我們需要發(fā)布的文件,或者不想發(fā)布一些我們不需要的文件。雖然VS.NET自帶的有發(fā)布功能,但有時(shí)候覺(jué)得使用起來(lái)還不是那么靈活方便,動(dòng)軟提供了此功能,讓你更靈活,簡(jiǎn)捷的發(fā)布網(wǎng)站文件。
選擇菜單【工具】-【web項目發(fā)布】


點(diǎn)擊【設置】按鈕,我們可以設置發(fā)布的規則。

這是早期版本留下了的一個(gè)代碼轉換工具,可以支持C#代碼到VB代碼的轉換。
動(dòng)軟.NET代碼生成器支持可擴展的代碼生成插件,用戶(hù)可以根據接口定制自己的代碼生成插件,開(kāi)發(fā)自己的代碼生成方式,按需求進(jìn)行代碼生成。
該組件源碼可以在下載的安裝包里面看到或者去官方網(wǎng)站下載。

開(kāi)發(fā)步驟:
1. 引用
Lib文件夾下提供了接口類(lèi)庫,添加4個(gè)dll的引用:
LTP.CodeHelper.dll
LTP.IBuilder.dll
LTP.IDBO.dll
LTP.Utility.dll
2. 并在類(lèi)中using
using LTP.Utility;
using LTP.IDBO;
using LTP.CodeHelper;
3. 繼承
DAL數據訪(fǎng)問(wèn)層模板組件:public class BuilderDAL : LTP.IBuilder.IBuilderDAL
BLL業(yè)務(wù)邏輯層模板組件:public class BuilderBLL : LTP.IBuilder.IBuilderBLL
4. 接口方法
具體參考插件源碼項目。安裝包中提供了插件的源碼。
5. 使用配置
【工具】-【選項】-【組件管理】 
在【代碼參數】或代碼生成器窗口,即可以看到如下插件列表:
§ 通過(guò)partial關(guān)鍵字擴展代碼生成器生成的代碼
§ 動(dòng)軟左側樹(shù)菜單導航,無(wú)法正常顯示?
§ Access用OleDbParameter無(wú)法更新數據解決方案
§ 動(dòng)軟DBUtility類(lèi)庫DbHelperSQL實(shí)現多數據庫連接
§ 動(dòng)軟.net代碼生成器 啟動(dòng)報錯退出解決方法
聯(lián)系客服