跳到主要內容

.Net ORM

最近在寫一個不是很重要的設備管理程式,幾乎全部在做Database操作,因此想找個好用的ORM(Object-relational mapping)工具。在Java上,最多人使用應該就是Hibernate,但在.Net上,似乎NHibernate不是首選。

Ask TheServerSide: Which .NET ORM is best?提到O/R Mapping - Tools, Libraries & Frameworks有許多的ORM實作,看到他列的36個實作不禁傻眼,我要怎麼選呢?幸好對岸有人先做功課,選個.NET ORM指出只有NHibernateGrove、ObjectSpaces 需要關注。

在找不到ObjectSpaces實作的情況下,NHibernate似乎缺少Visual Studio整合,那就只剩下Grove。對岸的MSDN有篇Grove——.NET中的ORM實現

李匡正說過,.Net的ORM絕對不會是NHibernate,看來也不可能是。我認為現在的微軟政策是先以Visual Studio快速開發,因此才會把不成熟的ObjectSpaces移除。以目前的.Net資料開發技術,仍舊以DataSet與xml為主軸,強加上ORM的確很難用,導致ORM變成ORZ,因此試用後還是放棄用Grove,先用DataSourceID快速開發。

留言

Maxi Ng寫道…
最近我也在為ORM頭痛
Linq2Sql和EF好像都不行
現在看到站長說NHibernate和Grove也不行
看來還是要回去自己寫ADO.NET了...
鳥毅寫道…
這篇是2006年寫的,現在的Entity Framework有好一點啦...不過仍然很麻煩,我後來用中國人開發的 MyGeneration,雖然功能不算強,但至少解決在EF不能處理 "有Foreign Key" 的情況。

這個網誌中的熱門文章

自然人憑證讀卡機驅動程式

鳥毅用的是第一代的自然人憑證讀卡機,EZ100PU(後來有同事買EZmini可以讀SIM卡似乎更好),每年報稅時用一次。 本來只是要申請些政府業務,一時之間找不到光碟,沒想到在 驅動程式下載 居然看到Linux和Mac的驅動程式,剩下的就是政府單位的網頁和程式應該改版了吧!!!

DBeaver 介面語言

DBeaver是我個人頗常用的一套跨平台Database管理工具,最近升級後發現Windows版本居然變成簡體中文,而且無法切換為英文。

如何將較高版本SQL Server複製到低版本SQL Server (降級為舊版)並保留權限及資料庫圖表

一般若是要將SQL Server裡的Database轉往其他Server時,最簡單的方式就是備份(Backup)後再還原(Restore),或者是䣃離(detach)後附加(attach)。 但是很不幸地,若是由較低版本(e.g. 2008)到較高版本(e.g. 2012)要怎麼辦呢?