我想知道如何将Entity Framework 4与原生Ado.Net和SP进行比较?
如果我使用普通的Ado.Net,我会失踪的是什么?值得离开EF4吗?
答案 0 :(得分:5)
简而言之,EF是对象关系映射器(ORM),ADO.Net是原始电源。 ORM允许您交换一些运行时性能以便于维护。您可以以更具说明性的方式编写代码,从数据库中表达您想要的,而不是 如何获取它。因此,可以在映射中考虑对数据库结构的更改,而不是应用程序中需要触及更改的特定表的每个部分。
如果您使用ADO.Net,您将失去的是开发人员的工作效率。向ADO.Net详细描述每个数据库操作既费时又容易出错,而且没那么有趣。
我认为我不想“离开”ORM并返回原始ADO.Net,除非在需要极端性能的情况下,例如导入大量数据,在这种情况下,您可能会最好还是写一个SSIS包。
答案 1 :(得分:1)
EF不适合“处理”大量数据:例如,包含大量抽象实体的统计数据或财务数据。否则没关系。无论如何,除非你遇到性能问题 - 它也没关系。也没有什么能阻止你同时使用这两个概念。
答案 2 :(得分:0)
EF感觉更自然,但如果你是一个铁杆sql用户,它起初可能会感到虚弱和奇怪。但我喜欢在c#方面做所有事情,减少维护问题,减少头痛,减少魔法字符串。
无论如何,对于性能问题,除非您正在进行批量插入,更新,否则您将看不到任何差异。
如果您使用普通的ADO.Net,如果没有包含某种OR / M,您仍然会处理记录,而不是具有行为和方法的类。您需要在记录上附加一个额外的商业图层。