代码之家  ›  专栏  ›  技术社区  ›  DanDan

从表适配器填充相关数据集

  •  1
  • DanDan  · 技术社区  · 14 年前

    我在.NET(版本2.0)中使用表适配器和数据集。

    我有两张这样的桌子:

    Table1
    ------
    ...
    TypeId
    
    Table2
    ------
    Id
    Name
    

    其中Table1.TypeId链接到Table2.Id。

    我已经使用向导强烈生成了这些类型,因此现在可以执行以下操作:

    Table1Adapter adapter = new Table1Adapter();
    Table1DataSet data = adapter.GetData();
    
    foreach(Table1Row row in data) { ... }
    // Can now iterate through and display the data
    

    一切正常。但现在我还需要表2中的数据。我注意到在第行中有一个生成的字段Table2Row,它看起来很理想,但设置为null。如何正确填充此数据集?

    2 回复  |  直到 14 年前
        1
  •  1
  •   this. __curious_geek    14 年前

    不存在任何允许您自动填充整个类型化数据集的api,或者在支持此功能的类型化数据集中不生成此类代码。这样做也很困难,因为TableAdapters没有一个公共基类可以让您这样做。

    如果确实需要这样做,则必须维护DataTable类型名称和TableAdapter类型名称的集合,并遍历该集合以执行数据集填充。

        2
  •  0
  •   Community CDub    8 年前

    实际上,有一个名为“MSDataShape”的Microsoft数据提供程序提供了此功能。上次我检查时,它被标记为折旧,我不知道现在的状态和未来的计划是什么,或者什么替代了它。

    DataSet 两个人关系很好 DataTable -学生:

       SHAPE  {select * from customers}
       APPEND ({select * from orders} AS rsOrders
               RELATE customerid TO customerid)
    

    编辑: 我想 this SO answer