SQL 服务器 CLR 硬编码 SQL 语句

SQL Server CLR hardcoded SQL statements

我正在将现有的 T-SQL 存储过程转换为 CLR C# .NET。我一直认为在 .NET 应用程序源代码中硬编码 SQL 语句是邪恶的。 CLR 存储过程是该规则的例外吗?我还有哪些其他选择?我不能很好地调用 T-SQL 存储过程...

I can't very well call a T-SQL stored procedure instead...

我不确定您的 CLR 组件中需要保留什么逻辑,但是您当然可以从 CLR 组件调用存储过程来检索要处理的数据。您也可以调用存储过程来更新处理后的数据。

It has been drilled into me that hardcoding SQL statements in .NET application source code is evil. Is a CLR stored procedure an exception to this rule?

有很多理由不将硬编码 SQL 语句放入编译代码中,而是使用存储过程。我们可以很容易地列出并讨论其背后的原因,但我建议,如果您目前有这条规则,那么,是的,它也适用于 CLR。如果没有其他原因,只是为了保持一致。