如何使用Database.ExecuteSqlCommand
跳过(或不提供可选参数)?
create procedure SetElementFrequency
@ElementTypeID integer,
@Frequency float = null,
@ElementName integer,
as ...
我没有任何运气尝试了以下内容..它仍然希望我提供@Frequency
param
Database.ExecuteSqlCommand(
"exec SetElementFrequency {0}, {1}",
elementType, elementName);
和
Database.ExecuteSqlCommand(
"exec SetElementFrequency @ElementTypeID, @ElementName",
elementType, elementName);
修改
将来会从存储过程中完全删除“@Frequency”参数。还有一些遗留应用程序仍在为@Frequency
提供,并且不能在所有应用程序中更改它。新创建的应用程序将不会提供@Frequency
答案 0 :(得分:1)
您可以更改您的exec格式以使用这样的SQL参数化,看看它是否适合您:
Database.ExecuteSqlCommand(
"exec SetElementFrequency @ElementTypeID = {0}, @Frequency = {1}, @ElementName = {2}",
elementType, null, elementName);