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