1
当通过C#代码遍历Dacpac
时,我能够找出计算列中引用哪些列(GetReferenced(Microsoft.SqlServer.Dac.Model.Column.ExpressionDependencies)
),以及该列的表达式是什么(Microsoft.SqlServer.Dac.Model.Column.Expression
属性)。我无法找到的是计算列的数据类型。获取来自dacpac的计算列的数据类型
除此之外,我也找不到一种方法来检索FileTable
表的列(虽然这是一组静态的列)。
搜索引擎不会给我带来很多;在这个主题上找不到那么多资源。
嗨,Ed,我已经找到你的博客,并发现它非常有用作为我的第一步的指导。然而,这个问题中描述的问题没有被你的博客回答。此外,如果我使用您的工具“dacpac资源管理器”,我无法获得计算列的类型。它正确显示表达式,但对于Type来说,它指向被引用的列。引用的列数据类型不总是等于计算列的数据类型。 – 2014-12-03 00:18:28
感谢关于FileTable的提示,不小心使用了Table而不是FileTable。 – 2014-12-03 00:37:23
很酷,它看起来像一个计算列的数据类型实际上并不存在于sql中 - 如果您查看model.xml中没有类型说明符。 我不确定这是否是一个DacFx api的bug,但是如果你在ssms中找到一个表并将它编写出来 - 它没有它,所以sql在运行时编译它时必须对它进行评估。 – 2014-12-03 07:21:37