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); }
private bool ColumnAnnotationRemoved(string annotrationName, ColumnOperation oldColumn, ColumnOperation newColumn) => oldColumn.FindAnnotation(annotrationName) != null && newColumn.FindAnnotation(annotrationName) == null;