我应该在CallBimlScript的参数声明中使用哪种数据类型作为字符串值列表?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我应该在CallBimlScript的参数声明中使用哪种数据类型作为字符串值列表?相关的知识,希望对你有一定的参考价值。
我想将字符串数组的值作为参数传递给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中使用的变量兼容?
答案
GetDataTable方法返回System.Data.DataTable但是您使用Linq将数据行的第一个元素提取为字符串
我必须检查,但我认为您需要将ToArray或ToList链接到表达式,然后您需要指定在目标Biml脚本中更正可枚举的可迭代类型。
否则,您应该能够通过使用System.Type类来确定类型,以确定Linq调用中生成的类型。
以上是关于我应该在CallBimlScript的参数声明中使用哪种数据类型作为字符串值列表?的主要内容,如果未能解决你的问题,请参考以下文章