存储过程中的标量值通过实体框架

Rog*_*ger 9 stored-procedures entity-framework

我发现了一些像这样的文章:http: //devtoolshed.com/using-stored-procedures-entity-framework-scalar-return-values

然而,当我采取步骤为int32标量创建函数导入时,这是生成的:

 public ObjectResult<Nullable<global::System.Int32>> MyStoredProcedure(Nullable<global::System.Int32> orderId)
    {
        ObjectParameter orderIdParameter;
        if (orderId.HasValue)
        {
            orderIdParameter = new ObjectParameter("OrderId", orderId);
        }
        else
        {
            orderIdParameter = new ObjectParameter("OrderId", typeof(global::System.Int32));
        }

        return base.ExecuteFunction<Nullable<global::System.Int32>>("MyStoredProcedure", orderIdParameter);
    }
Run Code Online (Sandbox Code Playgroud)

我可以用这个来调用这个过程,但是我无法进入基础标量:

ObjectResult<int?> result = myEntities.MyProcedure(orderId);

在我看到的代码示例中,我应该得到context.MyProcedure().SingleOrDefault().

小智 15

试试这个:

int? result = myEntities.MyProcedure(orderId).FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)