我想知道Entity Framework4与原生Ado.Net和SP相比如何?
如果我使用普通的Ado.Net,我会遗漏什么?
离开EF4值得吗?
发布于 2011-05-11 20:35:01
简而言之,EF是一个对象关系映射器,而ADO.Net是原始功能。ORM允许您牺牲一些运行时性能来换取维护的简易性。您获得了以更具声明性的方式编写代码的能力,表达了您希望从数据库中获得的内容,而不是确切地知道如何获取它。因此,可以在映射中说明对数据库结构的更改,而不是在应用程序中需要访问更改的特定表的每个单独部分中进行说明。
如果你使用ADO.Net,你会失去的是开发人员的生产力。向ADO.Net详细描述每个数据库操作既耗时又容易出错,而且没有多少乐趣。
我不认为我会想“离开”ORM而回到原始的ADO.Net,除非在需要极高性能的情况下,例如导入大量数据,在这种情况下,您最好还是编写一个SSIS包。
发布于 2011-05-11 18:06:54
EF不适合“处理”大量数据:例如,具有大量抽象实体的统计或金融数据。否则就没问题了。无论如何,除非你遇到性能问题--这也没问题。此外,没有什么能阻止你同时使用这两个概念。
发布于 2011-05-11 18:16:35
EF感觉更自然,但如果你是sql的铁杆用户,它一开始可能会让人感觉很虚弱和奇怪。但我喜欢在c#方面做所有的事情,更少的维护问题,更少的头痛,更少的魔力字符串。
无论如何,对于性能问题,除非您正在进行大量插入、更新,否则您将看不到任何差异。
如果你使用的是普通的ADO.Net,没有使用某种类型的OR/M,你仍然需要处理记录,而不是处理包含行为和方法的类。您将需要一个附加的biz层绑定到该记录。
https://stackoverflow.com/questions/5962420
复制相似问题