2

我在数据库中有 869 个表。我应该使用实体框架(版本 4)还是普通的旧 ADO.NET?

我对摆动的方式持观望态度——EF(版本 4)或普通的旧 ADO.NET,对实体框架有轻微的倾向。我只担心实体框架模型设计器是否会冻结在如此大的数据模型上,以及维护是否会是一场噩梦。

你们有没有人尝试过使用实体框架来处理如此庞大的数据集?

4

3 回答 3

1

数据库中表的数量并不真正影响数据访问层框架的选择。

EF 擅长它的工作,使用 EF 将导致比 ADO.NET 中的等效代码少得多的代码。

因此,我几乎总是推荐 EF 而不是 ADO.NET。

于 2013-01-22T11:16:14.663 回答
1

这是基于经验的。我们是在线博彩公司,因此我们的数据传输涉及实时交付。我们做了一些基准测试,比较了使用 EF 和 ADO.NET 的查询速度,我们发现 ADO.NET 几乎比 EF 快 4 倍。如果您的表具有一对多的关系或具有复杂的关系,那么您的应用程序使用 EF 会更加繁重。为什么?因为如果您使用 EF 进行查询,它不仅会从主表中获取数据,还会从子表中获取记录。除非您使用 LINQ 查询中的“投影”以某种方式使您的对象更轻。

最后,您应该考虑一件事何时不使用 EF。

*如果您的首要任务是尽快交付或插入数据,请不要使用 EF。

于 2013-01-22T11:43:34.643 回答
0

对于 EF4 和 EF5 有这么多表,如果您遇到启动缓慢的问题,您可能需要使用预生成的视图。您可能想要查看性能注意事项- 这些是 EF5 特定的,但很多信息仍然适用于 EF4,或者至少应该让您了解需要注意哪些方面。如果可能,请使用 .NET Framework 4.5 - 此版本有显着的性能改进。

于 2013-01-28T23:24:51.483 回答