【问题标题】:How to organize the DataClasses.dbml file如何组织 DataClasses.dbml 文件
【发布时间】:2012-09-18 03:58:24
【问题描述】:

我想了解人们如何以更具可扩展性的方式管理 dbml 文件?

您是否只有一个 DataClasses1.dbml 并将每个表都拖入其中?

您是否有单独的文件用于单独的逻辑分组,例如客户、人力资源?如果是这样,当一个表链接到另一个 dbml 文件中的表时,您如何直观地查看外键关系?

谢谢。

【问题讨论】:

    标签: visual-studio-2010 linq visual-studio linq-to-sql


    【解决方案1】:

    最好为所有表格使用一个DBML 文件,这样您就可以看到所有关系,即Foreign Key 等。但这完全取决于您的要求。..

    【讨论】:

      【解决方案2】:

      使用实体框架(对于 linq-to-sql 也是如此)我喜欢为数据库的不同部分使用单独的上下文类。

      但什么是“独特”?

      在大多数情况下,与应用程序的核心业务相关的所有内容都相互关联太多,以至于单独的上下文没有意义。但几乎每个应用程序都有横向任务,如授权、翻译、审计等。这些是单独上下文的良好候选者。

      尽管如此,仍然会有与业务逻辑的连接。您可能知道,您不能以将连接转换为 SQL 的方式从不同的上下文连接类。只存在于记忆中。因此,在多个上下文中复制一些实体很有用。因此,例如,业务上下文和授权上下文都将包含User 实体。一个上下文应该负责实体的维护,而另一个上下文应该以只读方式使用它。

      编辑

      实体的重复是指两个(或更多)上下文可以有一个实体映射到数据库中的同一个表。喜欢User。如果您愿意,业务上下文可以用于创建和更新用户,授权上下文(例如)用于向特定用户添加角色,而无需修改用户本身。

      【讨论】:

      • 谢谢。你能详细说明一下实体的重复吗?
      猜你喜欢
      • 2013-08-16
      • 2020-08-31
      • 1970-01-01
      • 1970-01-01
      • 2023-01-05
      • 1970-01-01
      • 2011-04-16
      • 2011-07-31
      • 2015-04-28
      相关资源
      最近更新 更多