Есть большой датасет MyDataSet, в котором несколько взаимосвязанных таблиц (для простоты пусть их будет две).
Таблицы связаны через foreign key, то есть каждой строке в таблице MyTable1 соответствуют несколько строк в таблице MyTable2
Мне необходимо выбрать подмножество этого датасета по определенному условию — то есть, я хочу выбрать несколько строк из MyTable1 и пробежаться по ним в цикле, причем имея возможность обратиться к связанным строкам из MyTable2 с помощью соответствующей функции.
Причем необходимо именно пробежаться по строкам, а не просто их отобразить в каком-нибудь гриде...
Пробовал сделать это через DataView — не особо получается
Здравствуйте, SystemProgrammist, Вы писали:
SP>Есть большой датасет MyDataSet, в котором несколько взаимосвязанных таблиц (для простоты пусть их будет две).
SP>Таблицы связаны через foreign key, то есть каждой строке в таблице MyTable1 соответствуют несколько строк в таблице MyTable2
SP>Мне необходимо выбрать подмножество этого датасета по определенному условию — то есть, я хочу выбрать несколько строк из MyTable1 и пробежаться по ним в цикле, причем имея возможность обратиться к связанным строкам из MyTable2 с помощью соответствующей функции.
SP>Причем необходимо именно пробежаться по строкам, а не просто их отобразить в каком-нибудь гриде...
SP>Пробовал сделать это через DataView — не особо получается
Как пробовал? Что именно и почему "не особо получается"?
Должно хватить
DataTable.Select +
DataRow.GetParentRow|
DataRow.GetChildRows.
_FR>Должно хватить DataTable.Select + DataRow.GetParentRow|DataRow.GetChildRows.
Select не вполне устраивает, потому как он возвращает System.Data.DataRow[]. Мне же хочется работать именно с MyDataset.MyTable1 and MyDataset.MyTable1Row
Если же я создаю временную таблицу типа MyDataSet.MyTable1 и туда импортирую строки, которые возвращает мне Select — то тогда теряются связи с таблицей MyTable2, и GetChildRows уже ничего не возвращает
Здравствуйте, SystemProgrammist, Вы писали:
_FR>>Должно хватить DataTable.Select + DataRow.GetParentRow|DataRow.GetChildRows.
SP>Select не вполне устраивает, потому как он возвращает System.Data.DataRow[]. Мне же хочется работать именно с MyDataset.MyTable1 and MyDataset.MyTable1Row
Работайте:
var rows = (MyDataset.MyTable1Row[])table.Select(/* … */);