public virtual void AddValueGeneratedFacetConfiguration( [NotNull] PropertyConfiguration propertyConfiguration) { Check.NotNull(propertyConfiguration, nameof(propertyConfiguration)); var valueGenerated = propertyConfiguration.Property.ValueGenerated; switch (valueGenerated) { case ValueGenerated.OnAdd: // If this property is the single integer primary key on the EntityType then // KeyConvention assumes ValueGeneratedOnAdd() so there is no need to add it. if (_keyConvention.ValueGeneratedOnAddProperty( new List <Property> { (Property)propertyConfiguration.Property }, (EntityType)propertyConfiguration.EntityConfiguration.EntityType) == null) { propertyConfiguration.AddFacetConfiguration( new FacetConfiguration("ValueGeneratedOnAdd()")); } break; case ValueGenerated.OnAddOrUpdate: propertyConfiguration.AddFacetConfiguration(new FacetConfiguration("ValueGeneratedOnAddOrUpdate()")); break; } }
public virtual void AddValueGeneratedFacetConfiguration( [NotNull] PropertyConfiguration propertyConfiguration) { Check.NotNull(propertyConfiguration, nameof(propertyConfiguration)); var valueGenerated = propertyConfiguration.Property.ValueGenerated; switch (valueGenerated) { case ValueGenerated.OnAdd: propertyConfiguration.AddFacetConfiguration(new FacetConfiguration("ValueGeneratedOnAdd()")); break; case ValueGenerated.OnAddOrUpdate: propertyConfiguration.AddFacetConfiguration(new FacetConfiguration("ValueGeneratedOnAddOrUpdate()")); break; } }
public virtual void AddDefaultExpressionFacetConfiguration( [NotNull] PropertyConfiguration propertyConfiguration) { Check.NotNull(propertyConfiguration, nameof(propertyConfiguration)); if (propertyConfiguration.Property.Relational().DefaultExpression != null) { propertyConfiguration.AddFacetConfiguration( new FacetConfiguration( string.Format(CultureInfo.InvariantCulture, "DefaultExpression({0})", CSharpUtilities.Instance.DelimitString( propertyConfiguration.Property.Relational().DefaultExpression)))); } }
public virtual void AddDefaultValueFacetConfiguration( [NotNull] PropertyConfiguration propertyConfiguration) { Check.NotNull(propertyConfiguration, nameof(propertyConfiguration)); if (propertyConfiguration.Property.Relational().DefaultValue != null) { propertyConfiguration.AddFacetConfiguration( new FacetConfiguration( string.Format(CultureInfo.InvariantCulture, "DefaultValue({0})", CSharpUtilities.Instance.GenerateLiteral( (dynamic)propertyConfiguration.Property.Relational().DefaultValue)))); } }
public virtual void AddStoreGeneratedPatternFacetConfiguration( [NotNull] PropertyConfiguration propertyConfiguration) { Check.NotNull(propertyConfiguration, nameof(propertyConfiguration)); if (propertyConfiguration.Property.StoreGeneratedPattern != StoreGeneratedPattern.None) { propertyConfiguration.AddFacetConfiguration( new FacetConfiguration( string.Format(CultureInfo.InvariantCulture, "StoreGeneratedPattern({0})", CSharpUtilities.Instance.GenerateLiteral( propertyConfiguration.Property.StoreGeneratedPattern)))); } }
public virtual void AddMaxLengthFacetConfiguration( [NotNull] PropertyConfiguration propertyConfiguration) { Check.NotNull(propertyConfiguration, nameof(propertyConfiguration)); if (((Property)propertyConfiguration.Property).GetMaxLength().HasValue) { propertyConfiguration.AddFacetConfiguration( new FacetConfiguration( string.Format(CultureInfo.InvariantCulture, "MaxLength({0})", CSharpUtilities.Instance.GenerateLiteral( ((Property)propertyConfiguration.Property).GetMaxLength().Value)))); } }
public virtual void AddUseIdentityFacetConfiguration( [NotNull] PropertyConfiguration propertyConfiguration) { Check.NotNull(propertyConfiguration, nameof(propertyConfiguration)); if (propertyConfiguration.Property.SqlServer().ValueGenerationStrategy.HasValue && SqlServerValueGenerationStrategy.Identity == propertyConfiguration.Property.SqlServer().ValueGenerationStrategy.Value) { propertyConfiguration.AddFacetConfiguration( new FacetConfiguration( "ForSqlServer", "UseIdentity()")); } }
public virtual void AddDefaultExpressionFacetConfiguration( [NotNull] PropertyConfiguration propertyConfiguration) { Check.NotNull(propertyConfiguration, nameof(propertyConfiguration)); if (ExtensionsProvider.For(propertyConfiguration.Property).GeneratedValueSql != null) { propertyConfiguration.AddFacetConfiguration( new FacetConfiguration( string.Format(CultureInfo.InvariantCulture, "HasDefaultValueSql({0})", CSharpUtilities.Instance.DelimitString( ExtensionsProvider.For(propertyConfiguration.Property).GeneratedValueSql)))); } }
public virtual void AddColumnTypeFacetConfiguration( [NotNull] PropertyConfiguration propertyConfiguration) { Check.NotNull(propertyConfiguration, nameof(propertyConfiguration)); if (ExtensionsProvider.For(propertyConfiguration.Property).ColumnType != null) { propertyConfiguration.AddFacetConfiguration( new FacetConfiguration( string.Format(CultureInfo.InvariantCulture, "HasColumnType({0})", CSharpUtilities.Instance.DelimitString( ExtensionsProvider.For(propertyConfiguration.Property).ColumnType)))); } }
public virtual void AddColumnNameFacetConfiguration( [NotNull] PropertyConfiguration propertyConfiguration) { Check.NotNull(propertyConfiguration, nameof(propertyConfiguration)); if (propertyConfiguration.Property.Relational().Column != null && propertyConfiguration.Property.Relational().Column != propertyConfiguration.Property.Name) { propertyConfiguration.AddFacetConfiguration( new FacetConfiguration( string.Format(CultureInfo.InvariantCulture, "Column({0})", CSharpUtilities.Instance.DelimitString( propertyConfiguration.Property.Relational().Column)))); } }
public virtual void AddRequiredFacetConfiguration( [NotNull] PropertyConfiguration propertyConfiguration) { Check.NotNull(propertyConfiguration, nameof(propertyConfiguration)); if (!propertyConfiguration.Property.IsNullable) { var entityKeyProperties = ((EntityType)propertyConfiguration.EntityConfiguration.EntityType) .FindPrimaryKey()?.Properties ?? Enumerable.Empty <Property>(); if (!entityKeyProperties.Contains(propertyConfiguration.Property)) { propertyConfiguration.AddFacetConfiguration( new FacetConfiguration("Required()")); } } }
public override void AddValueGeneratedFacetConfiguration( [NotNull] PropertyConfiguration propertyConfiguration) { Check.NotNull(propertyConfiguration, nameof(propertyConfiguration)); // If this property is the single integer primary key on the EntityType then // KeyConvention assumes ValueGeneratedOnAdd(). If the underlying column does // not have Identity set then we need to set to ValueGeneratedNever() to // override this behavior. if (propertyConfiguration.Property.SqlServer().IdentityStrategy == null && _keyConvention.ValueGeneratedOnAddProperty( new List <Property> { (Property)propertyConfiguration.Property }, (EntityType)propertyConfiguration.EntityConfiguration.EntityType) != null) { propertyConfiguration.AddFacetConfiguration( new FacetConfiguration("ValueGeneratedNever()")); } else { base.AddValueGeneratedFacetConfiguration(propertyConfiguration); } }