【问题标题】:.NET Dataset design.NET 数据集设计
【发布时间】:2011-03-20 06:49:17
【问题描述】:

我对设计数据集有些担心。

有人告诉我,最好为每个表建立一个数据集以用于维护目的。由于预计数据库表会频繁更改,因此拥有一个包含每个表的数据集将很难在应用程序中进行相应的更改。

问。为每个表都有一个数据集是一种好方法吗(我最终会使用存储过程为每个 db 表提供 30~40 个数据集)?

我有一个用于常用数据集的单独项目。每个项目都包含“数据集项目”作为参考,并通过将所需的数据集包含到表单、类等中来使用它。

问。这种方法是否会使整个系统变慢?如果我有一组数据集作为一个单独的项目,那将是有益的,因为它会更容易进行更改(我只需要在一个地方进行修改)

【问题讨论】:

  • 我们这里说的是网络应用还是桌面?
  • 您认为替代方案是什么?具有 30-40 个子数据表的单个强类型数据集?
  • 您的问题让我大吃一惊,您似乎希望整个中间层都由数据集组成。我强烈建议您研究课程,您可以从中获得无数好处。
  • - 桌面应用程序 - 替代方案可能是一些具有相关数据表的强类型数据集...
  • 另外,为什么要使用 DataSet?你还在使用 .NET 2.0 吗?

标签: c# .net database vb.net dataset


【解决方案1】:

具有多个数据集(和多个查询)的性能通常较慢。但是,在维护方面,每个表具有单个查询和数据集肯定更容易维护。

这一切都取决于表的关系。如果您可以使用分层查询以获取所有相关数据并将其放在一个数据集中,我会推荐。如果表格无关,则数据集和查询可能是最佳路径。

【讨论】:

    【解决方案2】:

    我发现最好的方法是每个场景都有一个数据集。最大的缺点是您的表定义分布在多个数据集中(如果在多个场景中引用一个表),如果模式发生更改,这显然不利于维护;但是好处是,无论您需要对客户端上的数据进行多么复杂的更改,数据集都可以为您完成所有工作,以跟踪关系的变化/删除子项/插入子项,无论您有多少层次的层次结构,这使得您的应用程序可以随着 UI 的变化而维护。

    这对我来说是两个主要因素 - 在架构更改的维护和 UI 更改的维护之间找到平衡。每个数据集一个表和一个数据集中的所有表都将减少您在数据库维护方面的工作,但这意味着您必须在特定屏幕的要求发生变化时重新编码大量内容。为您的应用找到合适的平衡点是最好的计划。

    【讨论】:

      猜你喜欢
      • 2016-08-05
      • 1970-01-01
      • 1970-01-01
      • 2019-08-14
      • 2010-12-11
      • 2014-11-30
      • 2014-04-04
      • 1970-01-01
      • 2011-11-24
      相关资源
      最近更新 更多