protected virtual bool MatchColumnNames([NotNull] IProperty source, [NotNull] IProperty target) { Check.NotNull(source, "source"); Check.NotNull(target, "target"); return(ExtensionProvider.Extensions(source).Column == ExtensionProvider.Extensions(target).Column); }
protected virtual bool MatchIndexNames([NotNull] IIndex source, [NotNull] IIndex target) { Check.NotNull(source, "source"); Check.NotNull(target, "target"); return(ExtensionProvider.Extensions(source).Name == ExtensionProvider.Extensions(target).Name); }
protected virtual bool MatchTableSchemas([NotNull] IEntityType source, [NotNull] IEntityType target) { Check.NotNull(source, "source"); Check.NotNull(target, "target"); return(ExtensionProvider.Extensions(source).Schema == ExtensionProvider.Extensions(target).Schema); }
protected virtual string ColumnType(IProperty property) { var extensions = ExtensionProvider.Extensions(property); return (TypeMapper.GetTypeMapping( extensions.ColumnType, extensions.Column, property.PropertyType, property.IsKey() || property.IsForeignKey(), property.IsConcurrencyToken) .StoreTypeName); }
public virtual AddDefaultConstraintOperation AddDefaultConstraintOperation([NotNull] IProperty target) { Check.NotNull(target, "target"); var extensions = ExtensionProvider.Extensions(target); return (new AddDefaultConstraintOperation( NameBuilder.SchemaQualifiedTableName(target.EntityType), NameBuilder.ColumnName(target), extensions.DefaultValue, extensions.DefaultExpression)); }
public virtual Column Column([NotNull] IProperty property) { Check.NotNull(property, "property"); var extensions = ExtensionProvider.Extensions(property); return (new Column(NameBuilder.ColumnName(property), property.PropertyType) { DataType = extensions.ColumnType, IsNullable = property.IsNullable, DefaultValue = extensions.DefaultValue, DefaultSql = extensions.DefaultExpression, IsComputed = property.IsStoreComputed, IsTimestamp = property.IsConcurrencyToken && property.PropertyType == typeof(byte[]), MaxLength = property.MaxLength > 0 ? property.MaxLength : (int?)null }); }
protected virtual bool EquivalentColumns([NotNull] IProperty source, [NotNull] IProperty target) { Check.NotNull(source, "source"); Check.NotNull(target, "target"); var sourceExtensions = ExtensionProvider.Extensions(source); var targetExtensions = ExtensionProvider.Extensions(target); return (source.PropertyType == target.PropertyType && ColumnType(source) == ColumnType(target) && sourceExtensions.DefaultValue == targetExtensions.DefaultValue && sourceExtensions.DefaultExpression == targetExtensions.DefaultExpression && source.IsNullable == target.IsNullable && source.GenerateValueOnAdd == target.GenerateValueOnAdd && source.IsStoreComputed == target.IsStoreComputed && source.IsConcurrencyToken == target.IsConcurrencyToken && source.MaxLength == target.MaxLength); }
protected override bool EquivalentIndexes(IIndex source, IIndex target, IDictionary<IProperty, IProperty> columnMap) { return base.EquivalentIndexes(source, target, columnMap) && ExtensionProvider.Extensions(source).IsClustered == ExtensionProvider.Extensions(target).IsClustered; }
protected override bool EquivalentPrimaryKeys(IKey source, IKey target, IDictionary <IProperty, IProperty> columnMap) { return (base.EquivalentPrimaryKeys(source, target, columnMap) && ExtensionProvider.Extensions(source).IsClustered == ExtensionProvider.Extensions(target).IsClustered); }