實體框架7 FromSql存儲過程返回值


我試圖使用Entity Framework 7中的新FromSql命令返回一個值。如果一切順利,我的存儲過程返回值0,如果發生錯誤,則返回1。

我們可以使用FromSqlDbSet來做

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

你將如何得到標量返回值0或1?

熱門答案

看起來存儲過程支持仍在積壓中

這是一個可以使用_dbContext.ExecuteStoredProcedure("someSproc", "param");調用的示例擴展方法_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();
    }
}




許可下: CC-BY-SA
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因