我們準備在工作中啓動一個全新的項目,而不是遺留代碼。我們在過去使用過亞音速,我們對它很滿意。但那是在Linq之前。你今天會選擇什麼樣的數據層,Linq或Subsonic?
有沒有人不得不面對同樣的問題(Linq x Subsonic)?
你的決定是什麼?原因是什麼?
任何洞察讚賞。
我們準備在工作中啓動一個全新的項目,而不是遺留代碼。我們在過去使用過亞音速,我們對它很滿意。但那是在Linq之前。你今天會選擇什麼樣的數據層,Linq或Subsonic?
有沒有人不得不面對同樣的問題(Linq x Subsonic)?
你的決定是什麼?原因是什麼?
任何洞察讚賞。
亞音速
優點:
缺點:
請記住:
的LINQ to SQL
優點:
缺點:
請記住:
我喜歡LINQ的一件事,我不認爲SubSonic會優雅地處理,它會自動處理連接。
FROM a in db.Orders
where a.Total > 100
SELECT new {a.Item.Desc, a.Customer.Name};
會自動生成SQL像thisL
select i.DESC, c.NAME
from ORDERS o
inner join ITEMS on o.ItemID = i.ItemID
inner join CUSTOMERS c on o.CustomerID = c.CUSTOMERID
where o.TOTAL > 100
linq to sql最大的風險是微軟會厭倦它並放棄它。有很多人猜測這已經發生,只有實體框架纔會更新。亞音速不會受此影響,更糟的情況是您有源代碼進行編輯。
我處於相同的情況。 LinQ更「視覺化」,你可以在vstudio中做所有事情,甚至Rob也承認亞音速有一些東西可以與之匹配。
IEnumerable,LINQDatasource(帶有自動分頁)和可視化建模讓我相信選擇Linonic而不是Subsonic。
NHibernate怎麼樣?新項目是否真的不合格?儘管如此,來自Java的人會發現它很熟悉,你也可以將它用於.NET 2.0和Mono。
您可能想要查看MS stops developing LINQ to SQ L發生的情況,因爲它似乎正在發生。 SubSonics最新版本更易於創建查詢並更易讀,然後是以前的版本。
我的經驗一直以SubSonic爲主。這是非常直接的部署,你會在半小時內完成你的DAL。請記住,這是瑞士軍刀,因爲它是爲實用設計的。基本上你會得到每個表生成的類,以及對集合進行延遲加載的能力。你也可以通過框架執行存儲過程,所以如果你有複雜的數據結構,你可以從數據庫中獲取它們並更新你手工製作的類。
我現在已經在5個主要項目中使用了它,並且我對它變得依賴的速度印象深刻。
我和Linq一起去了,因爲它是內置在框架中的。對於那些聲稱不會被微軟支持的公司來說......這是LinqToSql將被逐步淘汰。我相信其中一個計劃是將其吸收到實體框架中。
我現在正在使用實體框架。它也使用linq,基本上它就像linqToSql一樣,如果你選擇使用它,就會有更多的靈活性和強大的功能。
我傾向於避免第三方框架和orms,因爲它們最終也會消失。我相信他們有更多的機會死亡,因爲他們的生活來自有多少人對它感興趣並使用它。他們的生活也嚴重依賴於它的主要作者/貢獻者。
你的意思是LINQ或LINQ to SQL?因爲SubSonic從3.0開始支持LINQ。 – 2009-07-16 14:44:39
當我問這個問題時,去年十月,Subsonic在版本2.1(沒有Linq)。 我想更新的問題應該是LinqToEntities x Subsonic 3.0.0.3(截至目前)。 – nandos 2009-07-16 16:38:40
實體框架提供比Subsonic更好的性能:http://www.timacheson.com/Blog/2009/jun/entity_framework_vs_subsonic – Tim 2009-07-16 14:41:17