Entity Framework 4.1是使用近400个数据库表的Web应用程序的最佳解决方案吗?

时间:2011-05-26 06:42:48

标签: performance entity-framework entity-framework-4.1

Entity Framework 4.1是使用近400个数据库表的Web应用程序的最佳解决方案,还是最好用直接sql和sp制作cutome数据访问层?

3 个答案:

答案 0 :(得分:1)

表的数量只影响EF初始化,其中必须在应用程序中第一次使用上下文时编译“视图” - 400很多,并且需要花费很多时间。这可以通过生成视图的源代码并将这些源代码添加到项目来加速 - 视图不会在运行时编译,因为编译的代码将成为应用程序的一部分,但每次更改模型时都必须手动执行此操作。对于EFv4.1,此功能在EF Power Tools CTP1中提供。对于EDMX,该功能在EdmGen命令行工具中提供。

对开发中此类数量的表的另一个影响。在单个EDMX中使用400个表似乎是不可能的,因此您需要具有不同映射实体集的多个上下文。对于应用程序体系结构而言,这可能是一项复杂的任务,因为使用多个上下文会使一切变得更难。

如果您想使用仅代码映射,您必须为400个表编写类和映射,否则您将再次使用EF Power Tools CTP1为您生成它们。

使用带有400张桌子的EF并非不可能,但它很复杂且需要一些经验。

答案 1 :(得分:0)

不同的人可能对此有不同的看法。回答你的问题是你如何使用EF是否是poco模型或者你将使用edmx? EF性能也取决于记录的数量,因此如果您使用10个表并且总共有100个记录,那么ef将表现更好。 但是,基于表格和记录的ef表现仍然是一个很大的问题,它取决于各种因素,包括你的数据库设计是否正确规范化。

答案 2 :(得分:0)

我们有超过1000个表,我们正在使用它(它是一个Web应用程序)。您不必将所有内容都放在一个模型中,这样就很难在模型本身上工作。我们正在使用Code Only方法,它还处于开发阶段,但到目前为止一切正常。