SubSonic学习(二)
?????SubSonic作為一種OR Mapper,可以用極少的代碼完成對DAL的操作。下面我們比較下分別用SubSonic和ADO.NET兩種方法的操作。
????? 以Northwind數據庫為例子,我們要實現根據ProductID進行查找并用gridview將操作結果顯示出來,如圖
????????????????????
//ADO.NET
ADO.NET中若要進行其他操作,則只需更改SQL語句就OK了……,可以看出代碼的冗余,也存在"SQL注入"安全性問題。
//看看SubSonic的處理
太爽了,嗯,有了VS的"智能感應",可以極大減少犯SQL錯誤的煩惱了。
再舉一例,想用SubSonic多種方式來實現數據的添加,同樣顯示在gridview中,如圖
????????????????????????????????????
//method 1
//method 2
//this method 'Insert' can not be overloaded ,So you must takes all of arguments
//method 3
//method 4 5?6……非常靈活
SubSonic為你的數據庫里的每個表生成三個類:
1.表名奇數形式的類;例如有一個表Products,類名就是Product,這是一個強類型的類代表數據庫表中的一行數據,表中的每一列對應類中的強類型的屬性名,允許null的字段定義為nullable
2.集合類:例如一個表Products,你將得到ProductCollection 類,這個類提供了好多方法處理數據庫的數據
3.一個控制器(如ProductController):這提供了基本功能(創建,檢索,更新和刪除)。 而Product和ProductCollection 能裝載自己,是ProductController是專為這些任務而設計的。此外,你可以把控制器作為數據源,為您的網頁使用ObjectDataSource控件。
(引用http://www.cnblogs.com/wliang22/archive/2008/07/04/1235944.html)
?
當然上面的例子只是SubSonic的冰山一角,SubSonic在給我們帶來方便的同時,bug也肯定存在,嗯,先研究到這,下次繼續……
轉載于:https://www.cnblogs.com/yuxhust/archive/2009/02/13/1390054.html
總結
以上是生活随笔為你收集整理的SubSonic学习(二)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2021美赛A题元胞自动机解法(M奖)
- 下一篇: 看拉扎维《模拟CMOS集成电路设计》的一