恩…
怎麼是簡體的,因為這軟件是內地同胞開發的阿
這軟件能幹嗎呢?
當初會發現是因為.net2.0不像3.5有linq可以用
恩…
怎麼是簡體的,因為這軟件是內地同胞開發的阿
這軟件能幹嗎呢?
當初會發現是因為.net2.0不像3.5有linq可以用
而我又想要在.net上搞ORM,寫程式是不難啦
但是寫table class就麻煩了Orz…
可以參考這般篇
CodeSmith - 快速產生欄位 (Field) 與屬性 (Property)
原本cloudio也是用這套軟體的
但是這是要收費的,且對我來說用的到的功能也只有產生欄位跟屬性而已
正在想自己寫win form時發現了這套對岸開發的軟件阿
這套軟體是免費的,真是佛心來的
話不多說
首先到這裡下載
然後安裝到電腦裡,安裝的過程很一般般應該不用介紹
這邊主要要介紹怎麼用它來做簡單3層式架構
然後開啟它
首先要做的事就是
建立一個新的資料庫連結
目前提供的資料庫類型有
這幾種
我是選擇SQL Server然後下一步
設定好按下確定就OK囉
然後列表中就可以看到剛剛新增的資料庫了
在來就直接測試囉
點選新建項目
選擇簡單3層然後位置放在桌面下一步
我是直接用北風資料庫做測試
我選了4個table給它來做table class,按下開始生成
等一下就好了,然後在目的資料夾就可以看到代碼產生器幫我們做的苦工了
打開CodematicDemo.sln專案吧,因為SQL Server中允許table裡的欄位跟table名稱一樣
也允許table有空格如orders detail這種格式,但是orders detail這很明顯是不能當class名稱的
另外table裡的欄位跟table名稱一樣這也代表了class中的property會跟class name一樣
這些都是會出錯的,所以建議打開專案後先建置一次Ctrl+Shift+B即可
然後將錯誤一一移除
第一個就看到account中包含同名的property先去修正它吧
看到錯誤了吧,解決它吧!
cloudio是將它更名為AccountNo
一樣記得苦工不要自己做XD
在編譯一次,這次沒問題了
打開web專案中的Default.aspx來測試
馬上用萬能的GrdiView來測試效果
到cs中先using Maticsoft.BLL;再說
protected void Page_Load(object sender, EventArgs e) {
if (!IsPostBack) {
Employees emps = new Employees();
GridView1.DataSource = emps.GetAllList().Tables[0];
GridView1.DataBind();
}
}
直接感受一下工具產生的class的快感吧
馬上在瀏覽器中檢視
疑?什麼鬼
原來是web.config中的ConnectionString設定有問題Orz…
打開來發現這東西囧rz…
把它修正後就一切OK了!
動軟.Net代碼生成器這套軟體也可以產生table class
做ORM方面也可以省下不少時間
在沒有LINQ可以操作的情況下應該是可以考慮使用的