【问题标题】:Visual Studio DataSet Designer Refresh TablesVisual Studio 数据集设计器刷新表
【发布时间】:2011-02-08 19:31:03
【问题描述】:

在 Visual Studio 数据源设计器中,有没有办法在保留自定义查询的同时刷新表及其关系/外键约束?

我目前的做法是删除表格并再次添加它。这会添加所有关系并刷新所有字段。

另外,如果我更改了字段数据类型,有没有办法自动刷新数据源中的所有字段?再次不删除表并再次添加它。

这是因为我的一些 TableAdapter 附加了相当多的复杂查询,当我删除表时,适配器也会被删除,包括它的所有查询。

我正在使用 Visual Studio 2008 并连接到 MySQL 数据库。

有人有想法吗?

【问题讨论】:

    标签: database visual-studio-2008 dataset dataset-designer


    【解决方案1】:

    每个表都有一个默认查询(上面带有检查的那个)。当您将表拖入数据集以创建查询时,它会编写一条 SQL 语句,用于对您的表进行架构。保持该查询简单,您可能实际上不会在代码中使用它,并且您始终可以编辑该查询以更新表架构。

    每次打开默认查询时,它都会连接到您的数据源,并允许您选择以前不存在的新列。如果要更新现有列,请在尝试打开查询之前删除表中的所有列。保存查询时,更新的列会重新添加。

    确保您的连接字符串有权查看列信息。

    【讨论】:

    • 谢谢 :) 我实际上已经按照上面的建议开始使用 NHibernate,但无论如何感谢,在我开始使用 NHibernate 之前,这对我有帮助。
    • “用它来架构你的表”不太有意义。 (架构不仅仅是一个列列表。)处理一个修改长度的列,DataSet 上没有多少“刷新”,有问题的表或表中的列似乎与 xsd 通信。我能够展开 DataTable 对象,选择列,然后在属性列表中编辑 MaxLength 属性。 (但它留下了为什么“刷新”不刷新的问题没有得到解答。现在使用 VS2012,但我确定我在使用 VS2008 时遇到了同样的问题。)
    【解决方案2】:

    我向 MSFT 报告了这一情况,但没有得到回应。设计者总是挂在最简单的 SQL 语句上。我发现对我有用的是。

    1. 向设计器添加一个新表。
    2. 保存。
    3. 关闭 Visual Studio 2010。
    4. 开始 VS 2010。
    5. 再添加一个或两个 SQL 语句,然后再次执行步骤 2-4。

    这是一件令人头疼的事情,但唯一可以阻止 Visual Studio 数据集设计器挂起的事情。我在 VS 2008 中遇到过同样的问题。我正在连接到 Oracle,但仍在关闭 VS 并启动它备份工作,但实际上,这是无稽之谈。

    【讨论】:

    • 现在是 2021 年,这个问题在 Visual Studio 2019 中仍然存在。我认为他们早就终止了这方面的开发 =(
    【解决方案3】:

    您可以添加/更改/删除字段和关系,但我建议查看 NHibernate。

    【讨论】:

      【解决方案4】:

      您应该能够在解决方案资源管理器中右键单击数据集并选择“运行自定义工具”以刷新表格及其查询/关系。

      如果该命令不存在,请检查数据集属性在自定义工具字段中是否包含“MSDataSetGenerator”。

      【讨论】:

        【解决方案5】:
        1. 右键单击您的数据集名称并选择数据集属性
        2. 在查询框下方,您将看到刷新字段的按钮。
        3. 单击查询设计器,新字段应显示在您的表格列表中。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2010-12-11
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-12-30
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多