我正在调用带有可选参数的存储过程,其输出参数如下所示。我已经尝试过ctx.Database.SqlQuery<string>
和ExecuteSqlCommand
。两者都引发错误。
存储过程具有以下参数,其中大多数是可选的:
@Debug CHAR(1) = 'N',
@Yr VARCHAR(4),
@Collection_ID INT = NULL,
@SortOrder VARCHAR(100) = ' ',
@SrchDates VARCHAR(100) = '',
@FixedFormat CHAR(1) = 'C',
@ExtrctStrtFg CHAR(1) = 'D',
@APP_ID INT = NULL,
@MatchFound CHAR(1) = 'N' OUTPUT
我的电话是:
var retVal = frlentities.Database.SqlQuery<string>("exec pr_storedproc @Yr = 2000,@ExtrctStrtFg='F', @APP_ID=1234, @MatchFound OUTPUT;");
这抱怨说第四个参数@sortorder
作为输出参数提供。当我没有输出参数并且正在获取其他存储过程的列表时,它们的工作原理相同。希望有一些解决办法。我可以通过导入存储过程来提供所有参数。但是某些存储过程的参数太多。谢谢