【问题标题】:One edmx file or multiple edmx files?一个 edmx 文件还是多个 edmx 文件?
【发布时间】:2013-11-03 16:51:37
【问题描述】:

如果我有一个包含多个表的数据库,但每次我需要在我的网站中使用一个表时,我只需将它添加到一个模型中。按功能分解 edmx 文件更好吗?

【问题讨论】:

  • 你希望通过这样做获得什么?
  • @acfrancis - 假设一个人正在处理具有相关表的一组功能,而另一个人正在处理另一组,如果您拆分 edmx 文件,那么您破坏或破坏的可能性较小对方的 edmx,对吗?

标签: .net entity-framework


【解决方案1】:

这实际上取决于您的应用程序结构,如果您的所有实体都是相关的,那么您应该将它们保存在一个 EDMX 文件中。

您必须将 EDMX 视为一门课程。因此,如果您觉得它们在单独的文件中组织得更好,那么请继续创建尽可能多的文件以使其保持井井有条/

我已经在我想要分离关注点的一些应用程序中做到了这一点。

混合数据访问层对我来说似乎不太合适。

对于管理员来说是这样的:

private void SomeAdminFunction()
{
    using (var db = new AdminEntities())
    {
      //Access all Admin entities
    }
}

对于用户:

private void SomeUserFunction()
{
    using (var db = new UserEntities())
    {
       //Access all User entities
    }
}

【讨论】:

    【解决方案2】:

    有一个论点表明,通过将 EDMX 拆分为域驱动的实体来拆分您的网站是一个好主意。这使您能够设置上下文,查看特定于它将执行的作业的数据,并隔离关注点。 Julie Lerman 在她的 Pluralsight 课程中详细介绍了一些细节。实体框架 1 大型 edmx 或多域驱动模型?'>我也看到了这里描述的这种技术的问题

    总的来说,这是否是一个好主意的答案可能取决于数据库和 Web 应用程序的性质。如果数据库包含不应该暴露给网络的数据,那么这种分离是必不可少的。另一方面,如果它只是少数几个表而没有真正的问题来公开它们,那么它可能不需要额外的复杂性。

    【讨论】:

      猜你喜欢
      • 2011-06-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-21
      • 1970-01-01
      • 1970-01-01
      • 2017-10-03
      相关资源
      最近更新 更多