0

我是 Entity Framework 的初学者,在使用 EF 一段时间后,我遇到了一个组织问题。

不确定将整个数据库(我将使用的对象)映射到一个模型,还是将其拆分为不同的模型(根据类需求将对象分组到模型)更好。

第一种方法听起来很简单,但我怀疑大量对象是否存在任何性能问题,或者更新整个数据库的模型是否需要很长时间。

第二种方法可能让我最终在不同的模型中使用相同的对象,这将如何影响更新模型?

4

3 回答 3

1

如果你的应用程序有不同的部分,那么一些表之间有很多关系(我们称之为 a 是part因为没有更好的词)与所有其他表没有关系(所以所有其他部分),你有很多表(部分超过 100 个),我肯定会建议创建多个contexts.

如果您有几张表或者它们都非常紧密相关,我肯定会将它们放在一个上下文中。

于 2013-07-13T20:30:19.807 回答
1

我建议您使用单个模型,并且仅在遇到需要将其分离出来的某种问题(例如,如果您想促进不同模块或应用程序中不同部分的某种重用)时才离开该模型。即使这样,也可能不需要进行分离。

使用 EF 拥有整个数据库的大型模型并没有真正的惩罚。该框架在运行前优化方面做得很好(其中大部分在“配置运行时”进行了优化)。在“事务运行时”,您不应该看到基于数据库中表数量的性能问题。

如果存在任何必须在多个模型之间维护的关系,并且您使用多个模型,那么您基本上是在为自己打开麻烦。如果您的物理数据模型被划分为单独的物理模式并且没有要维护的事务关系,那么多个模型将是有意义的。

于 2013-07-13T23:33:02.687 回答
1

我不确定您所说的“模型”是什么意思,EF 允许您在类定义上指定架构,这将允许您根据架构将表分组到不同的组中。例如,您可以将所有具有静态数据的查找表分组到“查找”模式中,而将其他表分组到“数据”模式中。

于 2013-07-13T19:15:26.957 回答