我是Entity Framework的初学者,经过一段时间的EF工作,我遇到了组织问题。
不确定将整个数据库(我将使用的对象)映射到一个模型,或将其拆分为不同的模型(根据类需要将组对象分组到模型)更好。
第一种方法听起来很简单,但我怀疑是否存在大量对象的性能问题,或者需要很长时间来更新整个数据库的模型。
第二种方法可以让我最终在不同的模型中使用相同的对象,这将如何影响更新模型?
答案 0 :(得分:1)
我不确定“Model”是什么意思,EF允许您在类定义上指定模式,这允许您根据模式将表分组到不同的组中。例如,您可以将具有静态数据的所有查找表分组为“查找”模式,将其他表分组到“数据”模式中。
答案 1 :(得分:1)
如果你的应用程序有不同的部分,那么一些表之间有很多关系(让我们称之为part
因为缺少一个更好的词)与所有其他表没有任何关系(所以其他所有部分) ),你有很多表(超过100个),我肯定建议创建多个contexts
。
如果您有几张桌子或者他们都非常紧密相关,我肯定会将它们放在一起。
答案 2 :(得分:1)
我建议您使用单一模型,如果您在需要将其分离出来时遇到某种问题(例如,如果您希望在不同模块中促进某种类型的不同部分的重用或应用程序)。即便如此,也许没有必要进行分离。
使用EF拥有整个数据库的大型模型并没有真正的损失。该框架在运行时之前做了很好的优化(其中大部分在“配置运行时”进行了优化)。在“事务运行时”,您不应该根据数据库中的表数看到性能问题。
如果在多个模型中存在任何必须维护的关系,并且您使用了多个模型,那么您基本上是在为自己打开麻烦。如果您的物理数据模型被划分为单独的物理模式,并且没有要维护的事务关系,那么多个模型就有意义。