С помощью 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);