動軟.Net代碼生成器

恩…

怎麼是簡體的,因為這軟件是內地同胞開發的阿

這軟件能幹嗎呢?

當初會發現是因為.net2.0不像3.5有linq可以用

恩…

怎麼是簡體的,因為這軟件是內地同胞開發的阿

這軟件能幹嗎呢?

當初會發現是因為.net2.0不像3.5有linq可以用

而我又想要在.net上搞ORM,寫程式是不難啦

但是寫table class就麻煩了Orz…

可以參考這般篇

CodeSmith - 快速產生欄位 (Field) 與屬性 (Property)

原本cloudio也是用這套軟體的

但是這是要收費的,且對我來說用的到的功能也只有產生欄位跟屬性而已

正在想自己寫win form時發現了這套對岸開發的軟件阿

這套軟體是免費的,真是佛心來的

 

話不多說

首先到這裡下載

然後安裝到電腦裡,安裝的過程很一般般應該不用介紹

這邊主要要介紹怎麼用它來做簡單3層式架構

然後開啟它

首先要做的事就是

image

建立一個新的資料庫連結

目前提供的資料庫類型有

image

 

這幾種

我是選擇SQL Server然後下一步

image

設定好按下確定就OK囉

然後列表中就可以看到剛剛新增的資料庫了

image

在來就直接測試囉

image

點選新建項目

image

選擇簡單3層然後位置放在桌面下一步

image

我是直接用北風資料庫做測試

我選了4個table給它來做table class,按下開始生成

image

等一下就好了,然後在目的資料夾就可以看到代碼產生器幫我們做的苦工了

image

打開CodematicDemo.sln專案吧,因為SQL Server中允許table裡的欄位跟table名稱一樣

也允許table有空格如orders detail這種格式,但是orders detail這很明顯是不能當class名稱的

另外table裡的欄位跟table名稱一樣這也代表了class中的property會跟class name一樣

這些都是會出錯的,所以建議打開專案後先建置一次Ctrl+Shift+B即可

然後將錯誤一一移除

image

第一個就看到account中包含同名的property先去修正它吧

image

看到錯誤了吧,解決它吧!

cloudio是將它更名為AccountNo

image

一樣記得苦工不要自己做XD

在編譯一次,這次沒問題了

image

打開web專案中的Default.aspx來測試

image

馬上用萬能的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的快感吧

馬上在瀏覽器中檢視

image

疑?什麼鬼

原來是web.config中的ConnectionString設定有問題Orz…

image

打開來發現這東西囧rz…

把它修正後就一切OK了!

 

動軟.Net代碼生成器這套軟體也可以產生table class

做ORM方面也可以省下不少時間

在沒有LINQ可以操作的情況下應該是可以考慮使用的