Entity Framework 7で新しいFromSql
コマンドを使用して値を返そうとしています。ストアドプロシージャは、すべて正常に実行された場合は0を返し、エラーが発生した場合は1を返します。
FromSql
でDbSet
を使用するなど
_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();
}
}