Entity Framework 7 FromSql存储过程返回值

本文关键字:存储过程 返回值 FromSql Framework Entity | 更新日期: 2023-09-27 18:26:13

我正在尝试使用Entity Framework 7中的新FromSql命令返回一个值。如果一切顺利,我的存储过程将返回值0,如果出现错误,则返回值1。

例如,使用FromSqlDbSet,我们可以进行

_dbContext.ExampleEntity.FromSql('someSproc', 'param')

如何从中获得标量返回值0或1?

Entity Framework 7 FromSql存储过程返回值

看起来存储过程支持仍在积压工作中。

下面是一个可以使用_dbContext.ExecuteStoredProcedure("someSproc", "param");调用的扩展方法示例。

public static class DbContextExtension 
{
    public static int ExecuteStoredProcedure(this DbContext context, string name, string parameter)
    {
        var command = context.Database.GetDbConnection().CreateCommand();
        command.CommandType = CommandType.StoredProcedure;
        command.CommandText = name;
        var param = command.CreateParameter();
        param.ParameterName = "@p0";
        param.Value = parameter;
        command.Parameters.Add(param);
        return (int)command.ExecuteScalar();
    }
}