src/Shared/EntityFramework/Migrations/DbMigration.cs
/// <summary>
/// Adds an operation to handle changes in the annotations defined on tables.
///
/// 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>
/// <typeparam name="TColumns">
/// The columns in this operation. You do not need to specify this type, it will
/// be inferred from the columnsAction parameter you supply.
/// </typeparam>
/// <param name="name"> The name of the table. Schema name is optional, if no schema is specified then dbo is assumed. </param>
/// <param name="columnsAction">
/// An action that specifies the columns to be included in the table. i.e. t => new { Id =
/// t.Int(identity: true), Name = t.String() }
/// </param>
/// <param name="annotations">The custom annotations on the table that have changed.</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 handle changes in the annotations defined on tables.

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 handle changes in the annotations defined on tables . 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")]
        protected internal void AlterTableAnnotations<TColumns>(
            string name,
            Func<ColumnBuilder, TColumns> columnsAction,
            IDictionary<string, AnnotationValues> annotations,
            object anonymousArguments = null)
        {
            Check.NotEmpty(name, "name");
            Check.NotNull(columnsAction, "columnsAction");
            var operation = new AlterTableOperation(name, annotations, anonymousArguments);
            AddColumns(columnsAction(new ColumnBuilder()), operation.Columns);
            AddOperation(operation);
        }
[ SuppressMessage ( " " , " " ) ] protected internal void AlterTableAnnotations < TColumns > ( string name , Func < ColumnBuilder , TColumns > columnsAction , IDictionary < string , AnnotationValues > annotations , object anonymousArguments = null ) { Check . NotEmpty ( name , " " ) ; Check . NotNull ( columnsAction , " " ) ; var operation = new AlterTableOperation ( name , annotations , anonymousArguments ) ; AddColumns ( columnsAction ( new ColumnBuilder ( ) ) , operation . Columns ) ; AddOperation ( operation ) ; }
Adds an operation to handle changes in the annotations defined on tables.
Adds an operation to handle changes in the annotations defined on tables .
name
string
The name of the table. Schema name is optional, if no schema is specified then dbo is assumed.
The name of the table . Schema name is optional if no schema is specified then dbo is assumed .
columnsAction
Func<ColumnBuilder, TColumns>
An action that specifies the columns to be included in the table. i.e. t => new { Id
t.Int(identity: true), Name = t.String() }
An action that specifies the columns to be included in the table . i . e . t = > new { Id t . Int ( identity : true ) Name = t . String () }
annotations
IDictionary<string, AnnotationValues>
The custom annotations on the table that have changed.
The custom annotations on the table that have changed .
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 " } ' .
typeparam
The columns in this operation. You do not need to specify this type, it will
be inferred from the columnsAction parameter you supply.
The columns in this operation . You do not need to specify this type it will be inferred from the columnsAction parameter you supply .