📜  Entity Framework Core 3.1 存储过程的返回值 (int) - C# (1)

📅  最后修改于: 2023-12-03 15:14:52.695000             🧑  作者: Mango

Entity Framework Core 3.1 存储过程的返回值 (int) - C#

在 Entity Framework Core 3.1 中调用存储过程并获取其返回值(int)是常见需求之一,本文将简单介绍如何在 C# 中调用存储过程并获取其返回值。

前置条件

在继续之前,请确保您已经:

  • 安装了 Entity Framework Core 3.1 或更高版本。
  • 创建了一个 DbContext 类,并配置了它以使用存储过程。
调用存储过程并获取返回值

以下是调用存储过程并获取其返回值的示例代码:

using (var context = new MyDbContext())
{
    var result = new SqlParameter("@result", SqlDbType.Int)
    {
        Direction = ParameterDirection.Output
    };

    context.Database.ExecuteSqlCommand("EXEC @result = MyStoredProcedure", result);

    int returnValue = (int)result.Value;
}

在这个例子中,我们首先创建了一个名为 result 的存储过程参数,并将其方向设置为输出。然后,我们使用 DbContext 的 Database.ExecuteSqlCommand() 方法来调用存储过程,并将输出参数传递给它。最后,我们可以从 result.Value 属性中获取存储过程的返回值。

请注意,如果存储过程返回的不是整型值,则需要将 SqlParameter 的类型和 returnValue 的类型更改为适当的类型。

总结

获取存储过程的返回值是很容易的,只需要使用 SqlParameter 类来指定输出参数,然后在调用存储过程时将其传递给 Database.ExecuteSqlCommand() 方法即可。