動軟實戰(zhàn)攻略
文檔編號:20110421
版權(quán)所有 2004-2011 動軟
在線幫助:http://help.maticsoft.com
目錄
動軟.Net代碼生成器 是一款為.Net程序員設(shè)計的自動代碼生成器,也是一個智能化軟件開發(fā)平臺,它可以生成基于面向?qū)ο蟮乃枷牒腿龑蛹軜?gòu)設(shè)計的代碼,結(jié)合了軟件開發(fā)中經(jīng)典的思想和設(shè)計模式,融入了工廠模式,反射機制等等一些思想。主要實現(xiàn)在對應(yīng)數(shù)據(jù)庫中表的基類代碼的自動生成,包括生成屬性、添加、修改、刪除、查詢、存在性、Model類構(gòu)造等基礎(chǔ)代碼片斷,支持不同架構(gòu)代碼生成,使程序員可以節(jié)省大量機械錄入的時間和重復(fù)勞動,而將精力集中于核心業(yè)務(wù)邏輯的開發(fā)。 動軟代碼生成器 同時提供便捷的開發(fā)管理功能和多項開發(fā)工作中常用到的輔助工具功能,您可以很方便輕松地進行項目開發(fā)。
動軟讓軟件開發(fā)變得輕松而快樂!讓企業(yè)不斷提升開發(fā)效率,同樣的時間創(chuàng)造出更大的價值。
1. 系統(tǒng)要求:
Microsoft Windows2000/XP/2003/7 或者更高。機器必須安裝.NET Framework v2.0。
2. 官方下載地址:http://www.maticsoft.com/download.aspx
3. 下載解壓后安裝包有如下文件:
Codematic2.msi 是動軟.NET代碼生成器的安裝文件。
Builder文件夾是代碼生成插件的源碼,動軟.NET代碼生成器支持可擴展的代碼生成插件,用戶可以定制自己的代碼生成的插件,根據(jù)接口開發(fā)自己的代碼生成方式,按自己的需求進行代碼生成。
Codematic_Data.MDF和Codematic_Log.LDF 是通過動軟新建項目中所帶管理模塊所需要的數(shù)據(jù)庫文件。后臺管理員默認登錄用戶名:admin 密碼:1
4. 雙擊Codematic2.msi 進行直接安裝即可。
安裝動軟時,如果用戶機器360彈出警告,那僅僅是個簽名認證提示,并非木馬,選擇“繼續(xù)安裝”,然后點擊“確定”即可。
動軟鄭重聲明: 動軟.NET代碼生成器,絕無插件木馬,純綠色軟件。請放心安裝。
5. 安裝成功后,在開始-菜單和桌面上會有動軟.NET代碼生成器的圖標(biāo)。
安裝完成后,首先要做的就是注冊數(shù)據(jù)庫的連接,因為所有的代碼生成都將從數(shù)據(jù)庫中獲取數(shù)據(jù)結(jié)構(gòu)信息進行生成。
1. 在軟件界面的左側(cè)數(shù)據(jù)庫視圖窗口,選擇【服務(wù)器】,右鍵出現(xiàn)菜單:
2. 選擇【添加服務(wù)器】,然后,出現(xiàn)“選擇數(shù)據(jù)庫類型”窗口
3. 根據(jù)自己的實際情況,選擇一個機器上有的或自己項目中在用的數(shù)據(jù)庫類型。并確保你選擇的數(shù)據(jù)庫是可以正常訪問的。然后,【下一步】。
4. 如果選擇的是SQL Server,則會出現(xiàn):
注意事項:
(1) 輸入服務(wù)器IP地址,如果是本機也可以是:(local) 或是 . 或者 127.0.0.1。
如果服務(wù)器并非只有一個默認實例,請采用:服務(wù)器\實例名 的方式連接。
(2)一定要選擇和實際數(shù)據(jù)庫服務(wù)器版本一致的選項,否則會導(dǎo)致連接數(shù)據(jù)庫錯誤。
注意:請使用SQLServer的企業(yè)版或正式版本,不能是SQL EXPRESS版,否則無法連接。
(3)身份驗證可以選擇是SQL Server認證,還是Windows認證。
(4)輸入數(shù)據(jù)庫服務(wù)器用戶名密碼。如果不知道,請聯(lián)系你的數(shù)據(jù)庫管理員。
(5)如果數(shù)據(jù)庫的表比較多,連接速度會比較慢,啟用【高效連接模式】實現(xiàn)快速連接。
(6)可以通過【連接/測試】,來連接服務(wù)器并獲取數(shù)據(jù)庫列表,從而可以實現(xiàn)只選擇連接一個庫進行操作,減少不必要的連接時間,提高工作效率。
5. 如果選擇的是Oracle
輸入您自己安裝過的Oracle的管理員用戶名和密碼,服務(wù)就是安裝的Oracle服務(wù)名,一般默認是Oracle所在的機器名,如果不確定,請聯(lián)系您的數(shù)據(jù)庫管理員。
6. 如果選擇的是MySQL
7. 如果選擇的是Oledb
在地址文本框,可以直接輸入Access庫的文件地址,注意:庫文件盡量不要放在桌面,并且確保你的文件地址正確。如果你的Access并沒有設(shè)置密碼,下面的密碼可以不用管。
8. 如果選擇的是SQLite
9. 在以上步驟確定后,動軟.NET代碼生成器的數(shù)據(jù)庫視圖就出現(xiàn)了數(shù)據(jù)庫服務(wù)器的信息。
1. 在數(shù)據(jù)庫上右鍵,【瀏覽數(shù)據(jù)庫】,通過選擇庫和表可以查看表和字段的信息。
2. 選擇【新建查詢】菜單,即出現(xiàn)SQL的查詢分析器窗口,可以輸入SQL語句進行查詢。
3. 在表上,右鍵選擇【瀏覽表數(shù)據(jù)】,可以查看表的數(shù)據(jù)內(nèi)容。
4.
在看過了基本的數(shù)據(jù)庫管理功能之外,下面我們就可以開始生成代碼了。
首先,一般第一次生成,我們要生成的是整個項目框架。
1. 選中數(shù)據(jù)庫,然后右鍵:【新建NET項目】,或者直接點工具欄上的快捷圖標(biāo)均可。
2. 然后,選擇項目類型和版本:
l 簡單三層結(jié)構(gòu):生成標(biāo)準的三層架構(gòu)項目。
l 工廠模式結(jié)構(gòu):生成基于工廠模式的項目架構(gòu),適合一個項目多數(shù)據(jù)庫類型的情況。
l 簡單三層結(jié)構(gòu)(管理):生成標(biāo)準的三層架構(gòu)項目,并且?guī)в谢镜南到y(tǒng)管理功能和界面,這些通用的功能主要是節(jié)省開發(fā)人員的時間,可以在此基礎(chǔ)上直接去開發(fā)自身業(yè)務(wù)模塊。
這里暫以“簡單三層結(jié)構(gòu)(管理)”為例進行說明。
3. 點擊【下一步】,選擇要生成的表和配置:
雙擊選擇要生成的表,選到右側(cè)列表框。然后點擊【開始生成】即可。
如果需要修改一些配置可以修改你自己的命名空間名字,是否去掉表的前綴。
代碼模板組件類型,一般初學(xué)者建議默認即可。
相關(guān)組件說明:
BuilderDALParam 數(shù)據(jù)訪問層(DAL)基于Parameter方式的代碼生成組件(推薦)
BuilderDALProc 數(shù)據(jù)訪問層(DAL)基于存儲過程方式的代碼生成組件
BuilderDALSQL 數(shù)據(jù)訪問層(DAL)基于SQL拼接方式的代碼生成組件
BuilderDALTranParam 數(shù)據(jù)訪問層(DAL)帶有事務(wù)的代碼生成組件
DAL由于不同項目要求不同,根據(jù)項目需求,選擇其中一種方式即可。
BuilderBLLComm 基于標(biāo)準的業(yè)務(wù)邏輯層代碼(BLL)
BuilderModel Model層的代碼生成組件
BuilderWeb 表示層的代碼生成組件
備注:代碼還有一些生成規(guī)則,是在菜單【工具】-【選項】-【代碼生成設(shè)置】中進行設(shè)置。
4. 點擊【開始生成】,則開始進行代碼的生成
直到出現(xiàn)“項目工程生成成功”提示,項目生成完畢。
5. 打開生成的文件夾
6. 雙擊解決方案文件,打開整個項目如圖:
注:“簡單三層結(jié)構(gòu)” 目前暫時是VS2005版本,是為了兼容當(dāng)前還在用2005的朋友。如果你使用的是VS2008,生成項目后,請先打開VS2008,選擇【菜單-文件-打開項目】的方式打開該項目,此時會提示升級項目版本,選擇升級一下項目版本到VS2008或VS2010即可,對代碼沒有任何影響。
7. 打開Web項目,選中剛才選擇生成的那幾個表的頁面文件夾,右鍵【包括在項目中】
8. 打開web項目下web.config修改數(shù)據(jù)庫連接字符串。
注意:新建項目后,請記得先將安裝包里附帶的數(shù)據(jù)庫文件Codematic_Data.MDF 附加到SQLServer中。
如果需要加密,可以使用安裝包里的加解密工具(官方下載該工具)。
9. 然后,選擇解決方案進行重新生成整個解決方案。整個創(chuàng)建項目過程即全部完成。
10. 如果編譯沒有錯誤, 直接按F5鍵運行即可。整個創(chuàng)建項目過程即全部完成。
運行啟動登錄頁面login.aspx,輸入用戶名:admin,密碼:1
即登錄動軟系統(tǒng)框架的后臺,界面如下
新建項目功能只適合于第一次,因為不可能每次都新建項目,特別是項目已經(jīng)在開發(fā)中。所以,以后的項目開發(fā)中更多的應(yīng)用的是【批量代碼生成】功能。批量代碼生成特別適合項目后期追加代碼時使用。
1. 選中數(shù)據(jù)庫或者表,然后單擊右鍵菜單【代碼批量生成】
2. 出現(xiàn)的窗口和新建項目基本相似,只是多了一個選中架構(gòu)的選項。
備注:代碼還有一些生成規(guī)則,是在菜單【工具】-【選項】-【代碼生成設(shè)置】中進行設(shè)置。
3. 選則要生成的表,然后點擊【導(dǎo)出】
4. 在生成的文件夾中,我們可以看到:
批量生成代碼只生成業(yè)務(wù)表的代碼,不再有解決方案文件和項目文件,以及其它類庫等。我們可以將生成的這些文件直接拖到現(xiàn)有的解決方案中即可。
除了新建項目和批量代碼生成,偶爾我們希望更個性化自定義一些代碼生成的字段,而不是全部的自動生成,這是我們可以考慮針對單表的代碼生成。
1. 在左側(cè)【數(shù)據(jù)庫視圖】,選中表,右鍵菜單【單表代碼生成器】
2. 然后,出現(xiàn)單表的代碼生成器界面,我們設(shè)置自己需要更改的信息。
選項說明:
項目名稱:主要用在生成DB腳本中。
二級命名空間:指的是這個類放在某一個二級文件夾下,從而命名空間中應(yīng)該帶這個文件夾的名字。
頂級命名空間:就是項目的命名空間名稱。
類名:可以自己根據(jù)表名定義自己需要的名字。
類型:主要是生成什么代碼,DB腳本主要生成表的存儲過程和表的創(chuàng)建腳本及數(shù)據(jù)腳本。
架構(gòu)選擇:目前僅支持這3種最常用的架構(gòu)。
代碼類型:指生成指定架構(gòu)中具體某一個項目中的代碼。
代碼模板組件類型:指生成代碼的方式,因為即使同一個代碼有很多的寫法,組件主要實現(xiàn)的是不同的寫法,但每種寫法實現(xiàn)的功能都是一樣的。主要看項目需要和個人習(xí)慣進行選擇。
方法選擇:指生成最基本的增刪改查的方法代碼,后續(xù)版本將支持用戶自定義這些方法。
備注:代碼還有一些生成規(guī)則,是在菜單【工具】-【選項】-【代碼生成設(shè)置】中進行設(shè)置。
3. 然后,點擊【生成代碼】按鈕,即可生成該類的代碼:
生成的代碼,可以直接復(fù)制到項目文件中,也可以右鍵保存成CS文件。
通過窗體下面的Tab按鈕可以來回切換設(shè)計視圖和代碼。
日常開發(fā)中,經(jīng)常會遇到父子表的情況,同時需要父子表的記錄保存需要在事務(wù)中實現(xiàn),以保證數(shù)據(jù)的一致性。動軟也在功能上做了這方面的考慮。
1. 在表上,右鍵,選擇【父子表代碼生成(事務(wù))】:
父子表的代碼生成分3步窗體:1,2,3,當(dāng)前第一個窗體主要設(shè)置父表和子表,以及二者主外鍵關(guān)聯(lián)的字段。
2. 然后,選擇【繼續(xù)設(shè)置】
3. 點擊【生成類代碼】:
這里的所有插入語句都將放在一個事務(wù)里完成。
打開菜單【工具】-【選項】-【代碼生成設(shè)置】
這些配置保存后,在生成代碼的時候?qū)凑者@個規(guī)則進行生成。
代碼生成的規(guī)則設(shè)置范圍還在不斷增加中。
另外,不同數(shù)據(jù)庫類型的數(shù)據(jù)類型各有不同,這里提供了字段類型和C#中的類型建立映射關(guān)系,生成代碼時將按映射關(guān)系來生成代碼字段屬性的類型。
對于習(xí)慣使用存儲過程的用戶,手寫表的增、刪、改、查的存儲過程也是非常頭大的事情,動軟提供了可以自動生成數(shù)據(jù)表增刪改查的存儲過程腳本生成。
主要通過以下幾個地方進行生成:
1. 單表的存儲過程生成:
在表上,右鍵選擇【生成存儲過程】
或者:在表上右鍵,選擇【單表代碼生成器】,可以更靈活的定義生成存儲過程。
2. 批量表的存儲過程生成。
在數(shù)據(jù)庫上,右鍵,選擇【生成存儲過程】,或者選擇【導(dǎo)出文件】-【存儲過程】。都將生成整個數(shù)據(jù)庫中所有表的存儲過程。
有時候需要遷移數(shù)據(jù)庫,或者生成表結(jié)構(gòu)腳本,導(dǎo)出數(shù)據(jù)腳本到別的數(shù)據(jù)庫,日常開發(fā)中也比較常見,這個可以通過動軟自動生成SQL腳本功能來幫您節(jié)省大量的時間。
主要通過以下幾個地方進行生成:
1. 單表的數(shù)據(jù)腳本生成
在表上右鍵,選擇【生成數(shù)據(jù)腳本】
或者,在表上右鍵,選擇【單表代碼生成器】,可以更靈活的定義生成存儲過程
生成后:
2. 批量表的數(shù)據(jù)腳本生成。
出現(xiàn)生成SQL數(shù)據(jù)庫腳本窗口,選擇保存的文件名,點擊【生成】即可。
3. 根據(jù)查詢結(jié)果生成數(shù)據(jù)腳本。
有時候我們并不像生成整個表的數(shù)據(jù)腳本,也許表很大,或者其他數(shù)據(jù)并不需要,只是需要一部分我們需要的數(shù)據(jù),生成腳本后,執(zhí)行導(dǎo)入到其他庫,這時候我們可以使用動軟代碼生成器的這個功能。
在數(shù)據(jù)庫上,右鍵【新建查詢】,或者選擇菜單【工具】-【查詢分析器】,打開查詢語句窗口,輸入我們的查詢語句,然后單擊右鍵,選擇【生成當(dāng)前查詢結(jié)果的數(shù)據(jù)腳本】:
則生成的腳本僅僅包括語句查詢結(jié)果的數(shù)據(jù)腳本:
如此方便的功能,不得不說很貼心哦。
除此之外,我們可以看到,還有一個非常貼心的功能,就是如果數(shù)據(jù)訪問層使用的是基于SQL拼接的方式的DAL,有時候為了拼寫一段長長的SQL語句,眼都看花了,看看動軟這個功能吧:
在查詢分析器中,測試我們的查詢語句,然后,右鍵選擇【生成當(dāng)前查詢SQL語句的拼接代碼】
生成后,這些代碼我們直接就可以復(fù)制到數(shù)據(jù)訪問層,不用再用手一個個敲了,省出來的時間我們可以去喝咖啡嘍。
日常開發(fā),表一多,是不是就頭疼每個字段什么意思,以及數(shù)據(jù)庫總是變,文檔維護起來很麻煩。特別是新人加入項目團隊時,如果沒有數(shù)據(jù)庫文檔,那么更是云里霧里的搞不清各種數(shù)據(jù)的意思。動軟.NET代碼生成器,可以幫你解決這個問題,它可以根據(jù)選定的數(shù)據(jù)庫和表批量生成所有表的字段詳細信息,包括默認值,描述等表結(jié)構(gòu)信息。免去手工寫文檔和維護的麻煩,真的不用加班熬夜,可以早回家了。
1. 選中要生成的數(shù)據(jù)庫,然后選中工具欄【生成數(shù)據(jù)庫文檔】按鈕。
2. 然后,選中需要生成的表
這里提供了兩種格式的文檔,一種是Word格式的,但需要本機安裝Office2003或2007。另一種是網(wǎng)頁格式,可以生成兩種界面風(fēng)格的網(wǎng)頁格式數(shù)據(jù)庫文檔。
當(dāng)Web項目開發(fā)完畢,我們一般需要把項目發(fā)布到一個測試服務(wù)器或者生產(chǎn)環(huán)境去,但發(fā)布的時候,只想發(fā)布我們需要發(fā)布的文件,或者不想發(fā)布一些我們不需要的文件。雖然VS.NET自帶的有發(fā)布功能,但有時候覺得使用起來還不是那么靈活方便,動軟提供了此功能,讓你更靈活,簡捷的發(fā)布網(wǎng)站文件。
選擇菜單【工具】-【web項目發(fā)布】
點擊【設(shè)置】按鈕,我們可以設(shè)置發(fā)布的規(guī)則。
這是早期版本留下了的一個代碼轉(zhuǎn)換工具,可以支持C#代碼到VB代碼的轉(zhuǎn)換。
動軟.NET代碼生成器支持可擴展的代碼生成插件,用戶可以根據(jù)接口定制自己的代碼生成插件,開發(fā)自己的代碼生成方式,按需求進行代碼生成。
該組件源碼可以在下載的安裝包里面看到或者去官方網(wǎng)站下載。
開發(fā)步驟:
1. 引用
Lib文件夾下提供了接口類庫,添加4個dll的引用:
LTP.CodeHelper.dll
LTP.IBuilder.dll
LTP.IDBO.dll
LTP.Utility.dll
2. 并在類中using
using LTP.Utility;
using LTP.IDBO;
using LTP.CodeHelper;
3. 繼承
DAL數(shù)據(jù)訪問層模板組件:public class BuilderDAL : LTP.IBuilder.IBuilderDAL
BLL業(yè)務(wù)邏輯層模板組件:public class BuilderBLL : LTP.IBuilder.IBuilderBLL
4. 接口方法
具體參考插件源碼項目。安裝包中提供了插件的源碼。
5. 使用配置
【工具】-【選項】-【組件管理】
在【代碼參數(shù)】或代碼生成器窗口,即可以看到如下插件列表:
§ 通過partial關(guān)鍵字擴展代碼生成器生成的代碼
§ Access用OleDbParameter無法更新數(shù)據(jù)解決方案
§ 動軟DBUtility類庫DbHelperSQL實現(xiàn)多數(shù)據(jù)庫連接