Entity Framework 7 FromSql valor de retorno de procedimiento almacenado

.net c# entity-framework-core

Pregunta

Estoy intentando devolver un valor utilizando el nuevo comando FromSql en Entity Framework 7. Mi procedimiento almacenado devuelve un valor de 0 si todo va bien y 1 si ocurre un error.

Usando FromSql con DbSet podemos, por ejemplo, hacer

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

¿Cómo obtendrá el valor de retorno escalar de 0 o 1 de esto?

Respuesta popular

Parece que el soporte de procedimientos almacenados todavía está en el backlog .

Aquí hay un ejemplo de método de extensión al que puede llamar usando _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();
    }
}



Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué