как удалить данные из таблицы набора данных, где есть отношение - PullRequest
2 голосов
/ 22 февраля 2012

У меня есть набор данных с двумя таблицами, и между этими таблицами есть отношение:

 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 ]

1 голос
/ 22 февраля 2012

Зачем ты это делаешь?В этом случае вы можете потерять важные данные (если вы не знаете, что это ненужный контент).Я предполагаю, что если в родительской таблице есть данные, то они должны быть добавлены по причине, иначе может быть проблема в вашем коде.Посмотрите на это и постарайтесь избежать грязных данных.

Что касается вашего вопроса, я бы перебрал основные записи и проверил, есть ли родительские записи.В то же время сравните и убедитесь, что данные могут быть удалены.

Надеюсь, это поможет.

1 голос
/ 22 февраля 2012

Не проверено, но вы можете получить представление из нижеприведенного (возможно, вам даже не нужно устанавливать отношение)

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                 
              };

Надеюсь, это поможет и удачи

Krishna

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...