EF 6存储过程得出变量

时间:2016-10-26 11:01:36

标签: c# entity-framework-6

我遇到了EF 6的问题。我在SQL Server中有一个存储过程,它从表中返回varbinary(max)类型的值:

PROCEDURE [pr_Service_Get]
    (@file_id uniqueidentifier,
     @file_content varbinary(MAX) OUTPUT)
AS
BEGIN
    SET @file_content = (SELECT file_content 
                         FROM ... 
                         WHERE id = @file_id)
END

我有这个C#代码:

var output = new ObjectParameter("file_content", typeof(byte[]));

using (var ctx = _dbContext)
{
    ctx.pr_Service_Get(file_id, output);
}

return (byte[])output.Value;

问题是输出值始终为空。但是,如果我在SQL Server Management Studio中执行此存储过程,则会返回正确的值。

此外,我正在查看SQL Server Profiler以查看发送到SQL Server的内容。查询正确并返回正确的值。

任何人都可以帮我解决这个问题吗?

0 个答案:

没有答案