【发布时间】:2012-01-03 22:50:48
【问题描述】:
我在数据库中有几个表,父表说 P 与某些子表具有 1:1 关系,而与其他子表具有 1:M 关系。
为此,我在设计时通过“添加 -> 新项目 -> 数据集 -> DataSet1.xsd”添加了数据集
因此,我拥有所有必需的表格以及它们的 1:1 或 1:M 关系。
我在主表适配器上应用了一些过滤器,以便仅将父表中的选定记录及其相关子记录填充到数据集中。最后,我想将这些数据从 DataSet 写入 Xml 文件。
但是,我遇到了一个问题——我得到的最终数据集包含子表中的所有记录。相反,它应该只有那些父表具有相关记录的子记录。
我正在使用以下代码 -
ParentDataSet parentDataSet = new ParentDataSet();
ParentTableAdapter parentTableAdapter = new ParentTableAdapter();
parentTableAdapter.Fill(parentDataSet.ParentTable, column1Value); // All fine until here as I have applied filter in tableAdapter SQL
ChildTableAdapter childTableAdapter = new ChildTableAdapter();
//returns all rows in the child table -- shouldn't it return only those child records for which parent dataset table is having records??
childTableAdapter.Fill(parentDataSet.ChildTable);
parentDataSet.WriteXml(xmlFilePath);
请指导我在这里缺少什么?
谢谢!
【问题讨论】: