private System.Data.Entity.TransactionalBehavior GetTransactionalBehavior(Core.Cmn.TransactionalBehavior transactionalBehavior) { switch (transactionalBehavior) { case Core.Cmn.TransactionalBehavior.EnsureTransaction: return(System.Data.Entity.TransactionalBehavior.EnsureTransaction); case Core.Cmn.TransactionalBehavior.DoNotEnsureTransaction: return(System.Data.Entity.TransactionalBehavior.DoNotEnsureTransaction); default: return(System.Data.Entity.TransactionalBehavior.EnsureTransaction); } }
// // Summary: // Asynchronously executes the given DDL/DML command against the database. As with // any API that accepts SQL it is important to parameterize any user input to protect // against a SQL injection attack. You can include parameter place holders in the // SQL query string and then supply parameter values as additional arguments. Any // parameter values you supply will automatically be converted to a DbParameter. // context.Database.ExecuteSqlCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE // Author = @p0", userSuppliedAuthor){throw new NotImplementedException();} Alternatively, you can also construct a DbParameter // and supply it to SqlQuery. This allows you to use named parameters in the SQL // query string. context.Database.ExecuteSqlCommandAsync("UPDATE dbo.Posts SET Rating // = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)){throw new NotImplementedException();} // // Parameters: // transactionalBehavior: // Controls the creation of a transaction for this command. // // sql: // The command string. // // cancellationToken: // A System.Threading.CancellationToken to observe while waiting for the task to // complete. // // parameters: // The parameters to apply to the command string. // // Returns: // A task that represents the asynchronous operation. The task result contains the // result returned by the database after executing the command. // // Remarks: // Multiple active operations on the same context instance are not supported. Use // 'await' to ensure that any asynchronous operations have completed before calling // another method on this context. public Task <int> ExecuteSqlCommandAsync(Core.Cmn.TransactionalBehavior transactionalBehavior, string sql, CancellationToken cancellationToken, params object[] parameters) { var behavior = GetTransactionalBehavior(transactionalBehavior); return(_database.ExecuteSqlCommandAsync(behavior, sql, cancellationToken, parameters)); }
// // Summary: // Executes the given DDL/DML command against the database. As with any API that // accepts SQL it is important to parameterize any user input to protect against // a SQL injection attack. You can include parameter place holders in the SQL query // string and then supply parameter values as additional arguments. Any parameter // values you supply will automatically be converted to a DbParameter. context.Database.ExecuteSqlCommand("UPDATE // dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor){throw new NotImplementedException();} Alternatively, // you can also construct a DbParameter and supply it to SqlQuery. This allows you // to use named parameters in the SQL query string. context.Database.ExecuteSqlCommand("UPDATE // dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", // userSuppliedAuthor)){throw new NotImplementedException();} // // Parameters: // transactionalBehavior: // Controls the creation of a transaction for this command. // // sql: // The command string. // // parameters: // The parameters to apply to the command string. // // Returns: // The result returned by the database after executing the command. public int ExecuteSqlCommand(Core.Cmn.TransactionalBehavior transactionalBehavior, string sql, params object[] parameters) { var behavior = GetTransactionalBehavior(transactionalBehavior); return(_database.ExecuteSqlCommand(behavior, sql, parameters)); }