如何从数据集表中删除关系的数据

时间:2012-02-22 11:23:02

标签: asp.net dataset

我有一个包含两个表的数据集,这些表之间有一个关系:

 DataColumn dc1;
        DataColumn dc2;

        dc1 = q.Tables[0].Columns["dateFrom"];
        dc2 = q.Tables[1].Columns["dateFrom"];
        DataRelation dr = new DataRelation("tracker", dc1, dc2, false);

现在我想从第一个表中删除第二个表中没有数据的所有行。我怎么能这样做?

2 个答案:

答案 0 :(得分:1)

未经测试,但您可以从下面得到一个想法(您甚至可能不需要设置关系)

var results = from table1 in q.Tables[0].AsEnumerable()
              join table2 in q.Tables[1].AsEnumerable() on table1["dateFrom"] equals table2["dateFrom"]                  
             select new { 
               dateFrom = table1["dateFrom"], 
               // anyother columns                 
              };

希望这会有所帮助,祝你好运

克里希纳

答案 1 :(得分:1)

你为什么要这样做呢?在这种情况下,您可能会丢失重要数据(除非您知道这是不必要的内容)。 我假设如果父表中有数据,那么它必须是因为原因而添加的,或者代码中可能存在问题。看一下,尽量避免弄脏数据。

关于你的问题,我会循环访问主要记录并检查是否有任何父记录。同时比较并确保可以删除数据。

希望它有所帮助。