System.Data.Entity.Core.Objects.ObjectParameter获取null

时间:2017-04-04 06:57:29

标签: c# entity-framework stored-procedures

我在存储过程中使用了@@ ROWCOUNT来获取所选行的数量,并正确返回受影响的行:

Select @RowCount = @@ROWCOUNT

我在C#中称之为sp,如下:

public IEnumerable<Model.Result> Search(out int totalRecords)
        {
            totalRecords = 0;
            var RowCount = new System.Data.Entity.Core.Objects.ObjectParameter("RowCount", totalRecords.GetType());
            var result = DB.Search(RowCount);

            totalRecords = (int)RowCount.Value;

            return result;
        }

结果正确返回,但我不知道为什么RowCount.Value为空。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

RowCount只是一个ObjectParameter,您可以将其传递给对象查询或查询构建器方法。它并不意味着返回查询执行的任何结果,并且在编译查询之后,该值不能再被更改。因为您通过传递参数的类型而不是特定对象来创建它,所以Value被初始化为null并保持为空。