Entity Framework 7 Il valore restituito dalla stored procedure FromSql

.net c# entity-framework-core

Domanda

Sto cercando di restituire un valore utilizzando il nuovo comando FromSql in Entity Framework 7. La mia stored procedure restituisce un valore di 0 se tutto va bene e 1 se si verifica un errore.

Usando FromSql con DbSet possiamo ad esempio fare

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

Come otterrai il valore di ritorno scalare di 0 o 1 da questo?

Risposta popolare

Sembra che il supporto delle stored procedure sia ancora presente nel backlog .

Ecco un esempio di metodo di estensione che puoi chiamare 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();
    }
}


Related

Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché
Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché