Какой тип данных я должен использовать для списка строковых значений в объявлении параметров моего CallBimlScript? - PullRequest
0 голосов
/ 12 марта 2019

Я хочу передать значение строкового массива в качестве параметра в CallBimlScript, например, значение, назначенное здесь:

// Retrieve table list into string array 
var tablesToInclude = ExternalDataAccess.GetDataTable(connectionWrk.ConnectionString,  
                                      "SELECT DISTINCT [TABLE_NAME] " +
                                      "FROM [ETL_WORK].[STG_TBL_CONFIG] " +
                                      "WHERE [TABLE_SCHEMA] = 'STG' " +
                                      "AND [LOAD_CONFIG] IN ('PAT','TAP'); "
                                      ).Rows.OfType<DataRow>().Select(r => r[0].ToString());

Который я передаю в CallBimlScript с помощью этого вызова:

<#=CallBimlScript("DoStuffWithTableNames.biml", connectionWrk, tablesToInclude)>

А вот заголовок BimlScript, который я вызываю:

<#@ property name="connectionWrk" type="Varigence.Languages.Biml.Connection.AstOleDbConnectionNode" #>
<#@ property name="tablesToInclude" type="?" #>

Какой тип данных совместим с переменной, которую я использую в CallBimlScript?

1 Ответ

0 голосов
/ 12 марта 2019

Метод GetDataTable возвращает System.Data.DataTable Но вы используете Linq для извлечения первого элемента строки данных в виде строки

Мне нужно проверить, но я думаю, что вам нужно связать ToArray или ToList с выражением, а затем вам нужно будет указать, чтобы исправить перечисляемый итерируемый тип в целевом Biml-скрипте.

В противном случае вы сможете запросить тип с помощью класса System.Type , чтобы определить, какой тип генерируется в вызове Linq.

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