c# - 我的 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 调用中生成的类型。
推荐阅读
- android - 我在 android studio 的图像视图中收到以下错误
- python - 使用 @decorator_from_middleware 时无法导入自定义中间件。(非全局中间件)
- github - GitHub页面自定义网站在提交后未更新
- android - 为外部 url 使用 chrome 自定义选项卡
- php - PHP - curl_multi 给出 400 错误请求
- event-handling - 在 GUI 事件之间等待
- numpy - CMYK 数组写入文本(.txt)文件并从文件(.txt)读取并创建图像
- selenium - 为什么 Selenium Java 3.14 zip 中的文件显示修改日期为“2/1/1985”?
- excel - 检索查询结果并将其复制到excel
- haskell - 最长公共子列表