集合ADO.NET元素過程描述
如果此時你用ADO.NET元素對數據進行CRUD操作并不會使用存儲過程,我們需要將存儲過程進行映射。查詢和另外三項操作的映射方式不同,我們分開討論。ADO.NET元素查詢存儲過程的導入。
名稱取為“NorthWindEF.edmx”,然后點擊“添加”。然后,在后面的步驟中,數據庫選擇“NorthWind”后,在選擇影射對象是,把表、試圖、存儲過程全部都選上,其他的均保存默認的即可。最終生成的結果如下圖所示。***,談談我認為的一些缺點:
Edmx包含了所有對象的csdl,ssdl,msl文件,過于龐大,如果要手動修改這個文件,一不小心,眼睛看花了,就改錯了。(和數據集一樣的毛病)。目前EF支持表、試圖、存儲過程,其他的對象不支持,而且對使用存儲過程有很多限制(ADO.NET元素目前有EFExtension提供了更多對象的支持)。
除了MS SQL Server可直接提供這種可視化的設計界面外,其他的數據庫目前還沒有提供可視化設計界面(但可以自己來實現,后面介紹)。性能問題。(網上看到有說比ADO.Net慢700百,又有人說比ADO.net快的,具體情況我還沒測試過, 但我覺得像這個些類型的框架,性能肯定是比上原生態的ADO.net慢)好了,接下來,學習以下簡單的各種操作。
接觸ADO.NET Entityframework有一段時間了,ADO.NET元素在實際項目的應用中有一個***的問題就是M$沒有對多種數據庫提供支持,在筆者最近碰到的一個網站項目中,公司要求使用MYSQL,到處找MYSQL的EFProvider,發現Devart dotConnect還不錯,提供了比較完善的解決方案,ADO.NET元素只是在自動從數據庫提取物理模型中存在編碼的問題,到目前還沒有找到解決辦法,但是Devart dotConnect是收費的,專業版得上千美刀,有Free Edition,但是不提供對EntityFramwork的支持。
無奈,尋找其他的解決方案。偶然間在一份SUN的文檔中有提到在未來版本中對AEF的支持,到MYSQL.com下載***的MySql.Data.dll為5.2.5版,并沒有對AEF提供支持,再到源碼服務器,驚喜得看到多了一個MySql.Data.Entity項目,MySql.Data也已經到了5.3.0版。立刻下載。#t#
下載后先編譯MySQL.Data,并簽名程序集,MySQL.Data.Entity引用MySQL.Data,編譯并簽名,ADO.NET元素取得MySQL.Data.Entity的PublicKeyToken,修改MySQL.Data中類MySqlClientFactory的IServiceProvider.GetService方法相關的代碼,將Provider類型指向剛才編譯好的MySQL.Data.Entity程序集中的MySql.Data.MySqlClient.MySqlProviderServices類,修改后大概就像下面的樣子。