我在数据库中有869个表。我应该使用Entity Framework(版本4)还是普通的旧ADO.NET?
我正坐在围栏上,以摆动哪种方式 - EF(第4版)或普通的旧ADO.NET,对实体框架有一个轻微的倾斜。我只担心实体框架模型设计师是否会冻结这么大的数据模型,是否会成为维护的噩梦。
你们有没有尝试过使用这么庞大的数据集的实体框架?
答案 0 :(得分:1)
数据库中的表数并不会真正影响数据访问层框架的选择。
EF擅长它的功能,并且使用EF会导致代码远远少于ADO.NET中的等效代码。
因此,我几乎总是推荐EF over ADO.NET。
答案 1 :(得分:1)
这基于经验。我们是在线博彩公司,因此我们的数据传输涉及实时交付。我们做了一些比较使用EF和ADO.NET的查询速度的基准测试,我们发现ADO.NET几乎是EF的4倍。如果您的表具有一对多关系或具有复杂关系,则应用程序使用EF会更重。为什么?因为如果您使用EF进行查询,它不仅可以获取主表中的数据,还可以从子表中获取记录。除非你使用LINQ查询中的“投影”,否则会使你的对象更轻松。
最后,有一件事你应该考虑不使用EF。
*如果您的优先权是尽快提供或插入数据,请不要使用EF。
答案 2 :(得分:0)
对于EF4和EF5的许多表,如果遇到启动缓慢,可能需要使用预先生成的视图。您可能想看一下performance considerations - 这些是EF5特定的,但很多信息仍然适用于EF4,或者至少应该让您了解需要注意哪些方面。 如果可能,请使用.NET Framework 4.5 - 此版本中有significant performance个改进。