簡體   English   中英

實體框架4與本機Ado.net

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM