protected override void ColumnDefinition(string schema, string table, string name, ColumnOperation operation, IModel model, MigrationCommandListBuilder builder)
        {
            if (operation.ComputedColumnSql == null)
            {
                var annotation = operation.FindAnnotation(ModelBuilderExtensions.CaseInsensitiveAnnotationKey);
                if (annotation?.Value is bool caseInsensitive)
                {
                    if (operation.ColumnType == null)
                    {
                        operation.ColumnType = GetColumnType(schema, table, name, operation, model);
                    }

                    operation.ColumnType += " COLLATE " + (caseInsensitive ? _caseInsensitiveCollation : _caseSensitiveCollation);
                }
            }

            base.ColumnDefinition(schema, table, name, operation, model, builder);
        }
示例#2
0
 private bool ColumnAnnotationRemoved(string annotrationName, ColumnOperation oldColumn, ColumnOperation newColumn) => oldColumn.FindAnnotation(annotrationName) != null && newColumn.FindAnnotation(annotrationName) == null;