我有一个 SQL Server Data Tools (SSDT) 项目,其中包含许多存储过程,我想为其生成 C# 代码以使用 T4 调用它们。是否有这样做的现有示例?
到目前为止,我可以为每个过程创建一个函数,但我真的很想能够利用 SSDT 创建的元数据,这样我就可以从中获取参数、数据类型和返回值,而不是执行字符串解析。
最佳答案
用大写的 C 酷! (但不要告诉任何使用 ORM 的人!)
要获取数据类型等,请确保从 MS DacFx 团队获取最新的 DacExtensions:
https://github.com/Microsoft/DACExtensions
新的 api(顺便说一句,它是使用 T4 模板编写的)使查找所需信息变得更加简单。
此博客中应该有足够的信息让您继续:
https://the.agilesql.club/Blogs/Ed-Elliott/DacFx-Create-tSQLt-Tests-From-A-Dacpac
唯一的区别是您创建的是 C# 而不是 T-SQL,因此您不必处理 ScriptDom。
当你这样做时,请将它转储到 github 上,这听起来是一个非常有用的项目。
关于c# - 使用 SSDT 作为 T4 模板的来源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29542825/