我有许多提交被描述为“SQL 语句中的固定错误”的某种变体。太多愚蠢的错误,比如修改
WHERE
子句并在其中留下额外的 AND
关键字,诸如此类。
是否有 Roslyn 分析器可以验证字符串文本中的 T-SQL 语法?不寻找针对实际数据库的验证,仅清除语法警告可能会帮助我们避免一些问题。
如果没有,有人对此有一些好的解决方案吗?对切换到 EF 或类似的建议不感兴趣,但对于使用像 Dapper 这样在代码中使用 SQL 文字的微型 ORM 工具的项目,如果有在编译时或单元测试中验证语法的解决方案,我会感兴趣听到他们的声音。
这些不是 Visual Studio 中的数据库项目,而是类似于 SQL 语句是字符串的 Web 或 API 项目。
Dapper.Advisor
/ Dapper.AOT
已经包含一个完整的 T-SQL 分析器,它自动检测 Dapper 的使用情况以及 CommandText
上 SqlConnection
的使用 - 并且具有常规 T-SQL 检查和附加使用指导。如果您想要更多定制的东西,代码位于 GitHub