src/Shared/EntityFramework/Migrations/DbMigration.cs
/// <summary>
/// Adds an operation to execute a SQL file.
///
/// Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources 
/// (such as the end user of an application). If input is accepted from such sources it should be validated 
/// before being passed to these APIs to protect against SQL injection attacks etc.
/// </summary>
/// <param name="sqlFile"> 
/// The SQL file to be executed.  Relative paths are assumed to be relative to the current AppDomain's BaseDirectory.
/// </param>
/// <param name="suppressTransaction">
/// A value indicating if the SQL should be executed outside of the transaction being
/// used for the migration process. If no value is supplied the SQL will be executed within the transaction.
/// </param>
/// <param name="anonymousArguments">
/// Additional arguments that may be processed by providers. Use anonymous type syntax to
/// specify arguments e.g. 'new { SampleArgument = "MyValue" }'.
/// </param>
Adds an operation to execute a SQL file.

Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources
(such as the end user of an application). If input is accepted from such sources it should be validated
before being passed to these APIs to protect against SQL injection attacks etc.
Adds an operation to execute a SQL file . Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources ( such as the end user of an application ) . If input is accepted from such sources it should be validated before being passed to these APIs to protect against SQL injection attacks etc .
[SuppressMessage("Microsoft.Design", "CA1026:DefaultParametersShouldNotBeUsed")]
        [SuppressMessage("Microsoft.Naming", "CA1719:ParameterNamesShouldNotMatchMemberNames", MessageId = "0#")]
        protected internal void SqlFile(string sqlFile, bool suppressTransaction = false, object anonymousArguments = null)
        {
            Check.NotEmpty(sqlFile, "sqlFile");
            if (!Path.IsPathRooted(sqlFile))
            {
                sqlFile = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, sqlFile);
            }
            AddOperation(
                new SqlOperation(File.ReadAllText(sqlFile), anonymousArguments)
                {
                    SuppressTransaction = suppressTransaction
                });
        }
[ SuppressMessage ( " " , " " ) ] [ SuppressMessage ( " " , " " , MessageId = " " ) ] protected internal void SqlFile ( string sqlFile , bool suppressTransaction = false , object anonymousArguments = null ) { Check . NotEmpty ( sqlFile , " " ) ; if ( ! Path . IsPathRooted ( sqlFile ) ) { sqlFile = Path . Combine ( AppDomain . CurrentDomain . BaseDirectory , sqlFile ) ; } AddOperation ( new SqlOperation ( File . ReadAllText ( sqlFile ) , anonymousArguments ) { SuppressTransaction = suppressTransaction } ) ; }
Adds an operation to execute a SQL file.
Adds an operation to execute a SQL file .
sqlFile
string
The SQL file to be executed.  Relative paths are assumed to be relative to the current AppDomain's BaseDirectory.
The SQL file to be executed . Relative paths are assumed to be relative to the current AppDomain ' s BaseDirectory .
suppressTransaction
bool
A value indicating if the SQL should be executed outside of the transaction being
used for the migration process. If no value is supplied the SQL will be executed within the transaction.
A value indicating if the SQL should be executed outside of the transaction being used for the migration process . If no value is supplied the SQL will be executed within the transaction .
anonymousArguments
object
Additional arguments that may be processed by providers. Use anonymous type syntax to
specify arguments e.g. 'new { SampleArgument = "MyValue" }'.
Additional arguments that may be processed by providers . Use anonymous type syntax to specify arguments e . g . ' new { SampleArgument = " MyValue " } ' .