private static void DropDb(System.Data.Entity.Database databaseContext, string databaseName)
        {
            string sql = $@"
                ALTER DATABASE [{databaseName}] SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
                DROP DATABASE [{databaseName}];";

            databaseContext.ExecuteSqlCommand(TransactionalBehavior.DoNotEnsureTransaction, sql);
        }
Ejemplo n.º 2
0
            public void With_null_parameters_throws()
            {
                var database = new Database(new Mock <InternalContextForMock>().Object);

                Assert.Equal("parameters", Assert.Throws <ArgumentNullException>(() => database.ExecuteSqlCommand("query", null)).ParamName);
            }
Ejemplo n.º 3
0
 //
 // 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:
 //   sql:
 //     The command string.
 //
 //   parameters:
 //     The parameters to apply to the command string.
 //
 // Returns:
 //     The result returned by the database after executing the command.
 //
 // Remarks:
 //     If there isn't an existing local or ambient transaction a new transaction will
 //     be used to execute the command.
 public int ExecuteSqlCommand(string sql, params object[] parameters)
 {
     return(_database.ExecuteSqlCommand(sql, parameters));
 }