Заполнить набор данных только частично в зависимости от условия - PullRequest
0 голосов
/ 21 апреля 2020

С помощью DataSet, созданного в Visual Studio, существует ли способ загрузки строк на основе глобального условия. Допустим, со следующими таблицами я хочу загружать только те строки, в которых Type s Reference имеет значение 1:

Type
Type_ID  Name       References
0        Simple     0
1        Another    0
2        Relevant   1
3        Reference  1

Main
Main_ID  Type_ID  Name
0        0        Don't include
1        2        Include this
2        3        And that

Details
Details_ID  Main_ID  Other data
0           2        Blah blah blah

Можно ли определить условие, которое затем будет применяться ко всем таблицам / адаптеры. Поэтому я могу сказать «Reference = 1», и он будет загружать только соответствующие строки (поэтому все, кроме тех, для которых Type_ID s установлен в 0, 1 и Main_ID установлен в 0). Как сказать: загружайте только те строки, где оно может удовлетворять ограничениям.

В основном "programmati c" версия этих SQL запросов:

SELECT Type.* FROM Type WHERE Type.Reference = 1
SELECT Main.* FROM Main NATURAL JOIN Type WHERE Type.Reference = 1
SELECT Details.* FROM Details NATURAL JOIN Main NATURAL JOIN Type WHERE Type.Reference = 1

На данный момент я только есть что-то вроде этого, которое может сломаться, когда я пропущу таблицу и вызову там неправильный запрос:

typeDataAdapter.Fill(dataSet.Type);
mainDataAdapter.Fill(dataSet.Main);
detailsDataAdapter.Fill(dataSet.Details);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...