C#数据适配器和具有多个表的数据集

C#数据适配器和具有多个表的数据集,c#,dataset,dataadapter,C#,Dataset,Dataadapter,我从许多地方读到,使用DataAdapter可以用多个表填充数据集。它也没有说明单个更新调用是否可以更新数据集中的所有表 有人能帮我弄明白怎么做吗 除了在第二次填充之前更改DataAdapter上的SelectCommand之外,似乎没有任何(我尝试在线查找)关于如何执行此操作的示例。但是我觉得这种方法违背了DataAdapter的目的 从我的图中可以看出,也许一个DataAdapter只能处理一个数据库表,而Update只能在该表上工作。因此,多表数据集需要相应的数据适配器调用其更新来完全更新

我从许多地方读到,使用DataAdapter可以用多个表填充数据集。它也没有说明单个更新调用是否可以更新数据集中的所有表

有人能帮我弄明白怎么做吗

除了在第二次填充之前更改DataAdapter上的SelectCommand之外,似乎没有任何(我尝试在线查找)关于如何执行此操作的示例。但是我觉得这种方法违背了DataAdapter的目的

从我的图中可以看出,也许一个DataAdapter只能处理一个数据库表,而Update只能在该表上工作。因此,多表数据集需要相应的数据适配器调用其更新来完全更新数据集。是这样吗

最后,外键关系和约束是否会自动保存在数据集中(级联删除、级联更新)


也许链接到示例或教程会有所帮助。非常感谢

这些文章可能会有帮助:

以下官方文章也是非常有用的信息:

请参阅上述文章中的“从多个DataAdapter填充数据集”部分

  • 是的,这是真的,单个适配器用于单个表。但是

  • 您可以使用表适配器管理器一次保存所有适配器,表适配器管理器可以有许多单独的适配器,您可以调用save for all。喜欢,所以不需要调用save multiple time,它还具有其他功能

    public void SaveWithManager()
    {
    DataSet1TableAdapters.TableAdapterManager mgr1 = new DataSet1TableAdapters.TableAdapterManager();
    DataSet1TableAdapters.Table1TableAdapter taTbl1 = new DataSet1TableAdapters.Table1TableAdapter();
    DataSet1TableAdapters.Table2TableAdapter taTbl2 = new DataSet1TableAdapters.Table2TableAdapter();
    
    
    mgr1.Table1TableAdapter = taTbl1;
    mgr1.Table2TableAdapter = taTbl2;
    mgr1.UpdateOrder = DataSet1TableAdapters.TableAdapterManager.UpdateOrderOption.InsertUpdateDelete; 
    mgr1.UpdateAll(your dataset);
    
    }

  • 最后在数据集中处理级联更新删除。您可以查看关系的属性和级联的各种选项。(类型化数据集)


  • +谢谢你让我了解设计师的一些新情况。谢谢