Visual studio 2013 Visual Studio 2013数据集设计器刷新关系

Visual studio 2013 Visual Studio 2013数据集设计器刷新关系,visual-studio-2013,dataset,Visual Studio 2013,Dataset,我有一个数据集链接到sql server数据库的应用程序。我已经更新了sql server中的一些名称或外键和主键。如何将这些更改转换为数据集。例如,我有一个名为fk_temsempl_uxxxxx的主键。我在sql数据库中将其更改为fk_temsempl。如何在VisualStudio的数据集设计器中显示该更改 我已经尝试通过右键单击数据集并单击运行自定义工具来运行自定义工具。那没用。我尝试配置发生更改的其中一个表的表适配器,但关系的名称没有更改 实际上,您只需右键单击关系并选择“编辑关系…”

我有一个数据集链接到sql server数据库的应用程序。我已经更新了sql server中的一些名称或外键和主键。如何将这些更改转换为数据集。例如,我有一个名为fk_temsempl_uxxxxx的主键。我在sql数据库中将其更改为fk_temsempl。如何在VisualStudio的数据集设计器中显示该更改


我已经尝试通过右键单击数据集并单击运行自定义工具来运行自定义工具。那没用。我尝试配置发生更改的其中一个表的表适配器,但关系的名称没有更改

实际上,您只需右键单击关系并选择“编辑关系…”。。。或者,当鼠标光标从箭头变为拖动符号时,双击该行,但我真的不想麻烦;然后,在使用关系的任何地方,您都可以在代码中进行进一步的重构,并且可视化设计人员可以大量使用该关系

您还遇到了一个问题,VS可能无法帮助您进行重构:在数据绑定场景中,可以作为数据源的大多数内容也可以是可以作为有效数据源的多个内容的集合。然后,它们依赖字符串DataMember来确定数据源中的哪些数据集合应用于数据

例如,当bindingsource绑定到列出数据表时,bindingsource.DataSource属性可能是包含该数据表的DataSet对象,bindingsource.DataMembers是您的_TABLE_名称的字符串。BindingSource可能未绑定为AsMyBindingSource.DataSource=myDataSet.MyDataTable`。字符串内部重构涉及查找和替换

数据集中的DataRelationships是从外键创建的,因为它们是在相关表添加到数据集中时发现的,但需要注意的是,与DataTables和其他所有内容一样,它们与数据库架构对象完全无关—它们不是永久关联的,数据集实体的设置与首次创建数据集实体时的数据库对象类似。DataTables仅从选定的列创建,任何.NET数据类型都与查询输出的类型非常相似。关于以下表格:

Person
------
Name VARCHAR(50)
SSN INTEGER
Birthdate DATE
如果您使用SELECT*FROM Person创建表,您将获得一个名为string、SSN int、Birthdate datetime的数据表,但是如果您在数据集中基于SELECT LEFTName、1作为初始值、PADLEFTSN、20作为PADSN、DATEFDIFFDAY、Birthdate、现在作为AGEDYS从Person创建了一个新的数据表,那么您将获得一个初始值为string、PADSN string、PADSN的数据表,AgeDays int-即datatable与db表完全不同。dataset和db之间的这种断开连接的概念是普遍存在的,实际上,以任何方式与数据库相关的唯一内容是指定特定DataTable/DataColumn与哪个db表/列相关的属性,以便加载/保存数据。您的Person.Name datacolumn可以重命名为Blahblah,但它仍然具有一个设置为Name的.SourceColumn属性,这就是dataset和db之间的映射工作方式;数据集主要完全独立于数据库。重命名DB列只需要更改SourceColumn属性

DataRelations甚至没有链接到数据库中父关系的概念;没有SourceRelation或SourceFK项目,因为不需要。它们使用相同的规则和生成的名称进行设置,所有这些都基于FK的规则,但是它们独立运行,并且仅在数据集中运行。如果重命名或甚至从数据库中删除FK,数据集将以与以往相同的受限方式继续工作;当子表中不存在对应的行时,将datarow添加到子表将引发异常-这与数据库中的FK无关,并且DataRelation可以对FK具有不同的规则,例如,当FK为NOACTION或甚至不同的列时,它可以级联删除。与DB的FKs相比,您可以拥有更多或更少的数据关系

运行自定义工具不是联系数据库,查看发生了什么变化并将它们复制到数据集中,而是将描述数据集的XSD转换为一组C类,这些C类实现强类型的dataset/table/relation/column等对象。任何时候通过在可视化设计器中进行编辑并点击save来更改XSD时,都会运行自定义工具。如果您直接在文本编辑器中编辑XSD,您可能需要手动运行它,以便在c类中反映您的更改

重新配置tableadapter可能也不会对关系产生任何影响;它只涉及更改datatable和tableadapter。如果确实要刷新关系,请从集合中删除datatable并重新创建它。为潜在的重大代码清理/重构做好准备

谢谢您的帮助 听我解释。我正在看那场扫荡。我希望微软能更新他们的数据集设计器。它需要大修。他们可以做得更好。我非常喜欢数据集设计器,因为我可以使用参数向表中添加查询以限制所选数据。这样做很容易。我只是觉得设计师更实用。