每个数据库有多个/单个* .edmx文件

时间:2011-02-23 12:47:14

标签: c# database entity-framework datacontext wcf-data-services

我有一个通过ADO.net Data Services与数据库交互的项目。数据库很大(将近150个表依赖)。该项目于几年前启动,当时使用的是DataSet;现在我们正在走向实体模型关系。由于我们要添加更多需要使用的表,因此该模型正在增长。这是管理所有这些的正确方法吗?我应该有一个 SINGLE 数据库模型文件来拥有单个数据上下文吗?

有什么缺点,如何将实体框架与大型数据库一起使用(或者不应该与大型数据库一起使用?

我看到的缺点是:

  • Visual Studio 2010开始冻结 在设计器中打开那么大的XML时(也许这不是问题,因为即使有很多表也不会长时间冻结)。
  • 很难找到参考资料 模型(虽然 F4 +属性窗口的对象名称的组合框几乎 删除此搜索相关问题)。
PS,奇怪,没有人回答。这个问题似乎很重要,用简单的话来说,我只是改写它:哪个更好,整个整体,大型数据库的一个模型或该数据库的几个模型?

1 个答案:

答案 0 :(得分:3)

我怀疑你没有得到很多答案,因为这不是一个大问题。即使你有两个缺点,你也说他们并不是真正的问题。当然,EDM可以很好地处理大型数据库。我认为数据库越大,对ORM解决方案的需求就越大。

但是,您可以将一个模型拆分为多个文件,如果这样可以帮助您保持组织有序 - 即多个.edmx文件可以构成单个数据上下文。

或者,如果您可以将模型逻辑地拆分为可以通过接口进行交互的孤立部分,而不是需要直接连接数据上下文中的实体,这有利于管理实体数据模型,也仅用于基本的关注点分离。