database Visual Studio 数据集设计器刷新表

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/2652756/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-08 07:41:26  来源:igfitidea点击:

Visual Studio DataSet Designer Refresh Tables

databasevisual-studio-2008datasetdataset-designer

提问by Michal Ciechan

In visual studio datasource designer is there any way to refresh a table and its relations/foreign key constraints while keeping the custom queries?

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

The way I am doing it at the moment is removing the table and adding it again. This adds all the relations and refreshes all fields.

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

Also if I change a fields data type, is there a way to automatically refresh all the fields in the datasource? Again without deleting the table and adding it again.

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

Reason for this is because some of my TableAdapters have quite a number of complex queries attached to them and when I remove the table the adapter gets removed as well including all its queries.

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

I am using Visual Studio 2008 and connecting to a MySQL database.

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

Any1 have an idea?

Any1有想法吗?

回答by Carter Medlin

Each table has a default query (The one on top with the check on it). When you dragged your tables in to the dataset to create the query, it wrote a SQL statement which it uses to schema your table. Keep that query simple, you might not actually use it in code, and you can always edit that query to update the table schema.

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

Every time you open the default query it connects to your datasource and allows you to select new columns that weren't in there before. If you want to update your existing columns, delete all the columns out of the table before you attempt to open the query. When you save the query, your updated columns get added back.

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

Make sure your connection string has permissions to view column information.

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

回答by Joel MC

You should be able to right-click the dataset in solution explorer and select "Run Custom Tool" to refresh the table and it's query/relationships.

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

If that command is not there, check that the dataset properties has "MSDataSetGenerator" in the Custom Tool field.

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

回答by SURFThru

I reported this to MSFT but no response. The designer hangs all the time on the simplest of SQL statements. What I found that works for me is.

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

  1. Add a new table to the designer.
  2. Save it.
  3. Shut down visual studio 2010.
  4. Start VS 2010.
  5. Add one or two more SQL statements and follow steps 2-4 again.
  1. 向设计器添加一个新表。
  2. 保存。
  3. 关闭 Visual Studio 2010。
  4. 开始 VS 2010。
  5. 再添加一两个 SQL 语句,然后再次执行步骤 2-4。

This is a pain in the neck but the only thing that stops Visual Studio dataset designer from hanging. I experienced in this same issue in VS 2008. I am connecting to Oracle but still shutting down VS and starting it back up works, but really, this is nonsense.

这是一个令人头疼的问题,但唯一可以阻止 Visual Studio 数据集设计器挂起的东西。我在 VS 2008 中遇到了同样的问题。我正在连接到 Oracle,但仍然关闭 VS 并重新启动它,但实际上,这是无稽之谈。

回答by user5297379

  1. Right click on your DataSet name and select Dataset Properties
  2. Below the Query box you will see a button for Refresh Fields.
  3. Click on Query Designer and the new field should show in your table list.
  1. 右键单击您的数据集名称并选择数据集属性
  2. 在查询框下方,您将看到刷新字段按钮。
  3. 单击查询设计器,新字段应显示在您的表列表中。

回答by SeeSharpCoder

You can add/change/remove fields and relation ships, but i would suggest looking into NHibernate.

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