安裝MySQL, 使用查詢分析器連接數據庫服務器
創建數據庫CTU, 並且創建新表Agent
給數據表Agent添加三筆數據,Jack,Tony,Charles
數據庫設計的任務到此為止,記得給每個表添加主鍵。這裡設置的主鍵是Name
啟動LLBL Gen 3.1, 創建新的項目,注意選擇Target為LLBL Gen框架
在Category Explorer窗口中,右鍵,添加新連接
請在context菜單中選擇Reverse-engineer Tables to Entity Definitions
這些表就會自動mapping到實體集合中
從圖中可以看到,已經發現了Agent表
如果需要進一步的編輯屬性與字段的映射關系,請用Edit 菜單,打開窗體
在這裡,可以設置關系,設置映射的名稱。
F7,可以開始生成代碼
默認情況下,會生成2個項目文件
從名稱中可以看出,一個是數據庫無關的,另一個是做數據訪問的。以此的原理是我們在生成數據庫時,選擇Adapter模式,而不是SelfServicing模式.
在Visual Studio中打開生成的代碼,並且添加測試項目(Console)
解決方案浏覽器中現在有三個項目Main是我們用來測試數據訪問的
再來看一下Main方法,只有簡單的幾行程序,也就是一個最簡單的測試程序
它會生成SQL語句 SELECT Name , Postion , Description FROM agent
1. ORM的好處是跨數據庫平台,獨立於數據庫廠商。以MySQL為例子,是為證明,用SQL Server寫的項目,可以很輕易的就轉移到MySQL數據庫平台。
近期會放出LLBL Gen + Oracle的快速開發手冊。
2. 到目前為止,SQL Server有幾個穩定好用的版本:SQL Server 2000,SQL Server 2005,SQL Server 2008,SQL Server 2008 R2, 還有SQL Express系列,如果要考慮數據的遷移,把數據從一個數據庫搬到另一個數據庫,請把這些數據庫看成不同的產品系列。在這幾個產品系列中遷移數據實在是痛苦,比如SQL Server 2005的數據庫一旦被SQL Server 2008附加過,就再也無法在SQL Server 2005 Attach。2000和2005之間也會遇到這種尴尬。
考慮通用性,推薦用SQL Server 2005。
3. 正向和反向思維
學習NHibernate時,我們就在不停的研究把映射文件(數據庫字段和.NET屬性)存放在哪裡。那時,專家的意見是放到xml文件中,放到C#文件中不容易維護。
後來接觸到商業的NHibernate設計器,它卻把映射文件寫到C#文件。因為這些映射全部是可視化生成的,不需要編輯。同樣道理,LLBL Gen把映射文件也放到C#代碼,同時也是自動生成的。
我知道NHibernate的映射文件的設置的復雜性,就已經令眾多的NHibernate愛好者望而卻步,無比痛苦,談不上快速靈活的開發。
扯遠一點,談到經濟,聽說國際上唱衰中國樓市,大肆宣言房價必降,還有諸多的專家也如此認為,可我還聽說,國際熱錢還在大肆進軍中國樓市,中國的城市化進程不中斷,房價不太可能會降。
我要表達的意思是,兩種思維,一正一反,我們要習慣。
我常說EPN框架可以快速開發,你可能要意識到這句話不全對,簡單的快速開發,暗藏了巨大的復雜性在裡面。快速開發有復雜性藏在幕後,出了問題,google,baidu都不太可能幫忙到你;不快不慢的開發,簡單容易理解,有bug或是出了問題在網上一找就找到了,可是又做不出很多應用,代碼重復,經不起需求變化。
4. LLBL Gen 是商業的ORM工具,請不要向我索取license。
當沒有人可以幫忙到你的時候,可以向google,baidu求助,Just take a try.