[英]Entity Framework 4 vs Native Ado.net
我想知道如何將Entity Framework 4與本機Ado.Net和SP進行比較?
如果我使用普通的Ado.Net我會缺少什么?
值得離開EF4嗎?
簡而言之,EF是對象關系映射器(ORM),而ADO.Net是原始能力。 ORM允許您為了維護方便而犧牲一些運行時性能。 您將具有以更具聲明性的方式編寫代碼的能力,從而可以從數據庫中表達所需的內容 ,而不是確切地了解如何獲取它。 結果,可以在映射中說明對數據庫結構的更改,而不是在應用程序中需要觸摸已更改的特定表的每個部分。
如果使用ADO.Net,您將缺少的是開發人員的生產力。 向ADO.Net詳細描述每個數據庫操作非常耗時,容易出錯,並且沒有太多樂趣。
我認為我永遠都不想離開ORM並返回原始ADO.Net,除非在需要極端性能的情況下(例如導入大量數據),在這種情況下,您可能會寫得更好一個SSIS包。
EF不適合“處理”大量數據:例如具有大量抽象實體的統計或財務數據。 否則就可以了。 無論如何,除非您遇到性能問題,否則也沒關系。 同樣,沒有什么可以阻止您同時使用這兩個概念。
EF感覺更自然,但是如果您是SQL的核心用戶,一開始它可能會感到虛弱和奇怪。 但是我喜歡在C#方面做所有事情,減少維護問題,減少麻煩,減少魔術字符串。
無論如何,對於性能問題,除非進行批量插入,更新,否則不會有任何區別。
如果您使用普通的ADO.Net,而沒有包裝任何類型的OR / M,則您仍將在處理記錄,而不是具有行為和方法的類。 您將需要一個附加的biz層來綁定記錄。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.