LLBL Gen + MySQL 快速開發
MySQL 安裝配置
安裝MySQL, 使用查詢分析器串連資料庫伺服器
建立資料庫CTU, 並且建立新表Agent
給資料表Agent添加三筆資料,Jack,Tony,Charles
資料庫設計的任務到此為止,記得給每個表添加主鍵。這裡設定的主鍵是Name
LLBL Gen 設計實體模型
啟動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
結論 Conclusion
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.