public void Can_only_override_existing_ClrType_value_explicitly() { var model = new Model(); model.AddEntityType(typeof(Customer)).AddProperty(Customer.NameProperty.Name); var modelBuilder = new InternalModelBuilder(model); var entityBuilder = modelBuilder.Entity(typeof(Customer), ConfigurationSource.Explicit); var builder = entityBuilder.Property(Customer.NameProperty.Name, ConfigurationSource.Convention); Assert.Null(builder.Metadata.GetClrTypeConfigurationSource()); builder.Metadata.ClrType = typeof(string); Assert.Equal(ConfigurationSource.Explicit, builder.Metadata.GetClrTypeConfigurationSource()); Assert.True(builder.HasClrType(typeof(string), ConfigurationSource.DataAnnotation)); Assert.False(builder.HasClrType(typeof(int), ConfigurationSource.DataAnnotation)); Assert.Equal(typeof(string), builder.Metadata.ClrType); Assert.True(builder.HasClrType(typeof(int), ConfigurationSource.Explicit)); Assert.Equal(typeof(int), builder.Metadata.ClrType); }
public InternalPropertyBuilder([NotNull] Property property, [NotNull] InternalModelBuilder modelBuilder, bool existing) : base(property, modelBuilder) { if (existing) { if (Metadata.IsNullable != null) { _isRequiredConfigurationSource = ConfigurationSource.Explicit; } if (Metadata.IsConcurrencyToken != null) { _isConcurrencyTokenConfigurationSource = ConfigurationSource.Explicit; } if (Metadata.IsReadOnlyAfterSave != null) { _isReadOnlyAfterSaveConfigurationSource = ConfigurationSource.Explicit; } if (Metadata.IsReadOnlyBeforeSave != null) { _isReadOnlyBeforeSaveConfigurationSource = ConfigurationSource.Explicit; } if (Metadata.IsShadowProperty != null) { _isShadowPropertyConfigurationSource = ConfigurationSource.Explicit; } if (Metadata.ClrType != null) { _clrTypeConfigurationSource = ConfigurationSource.Explicit; } if (Metadata.RequiresValueGenerator != null) { _requiresValueGeneratorConfigurationSource = ConfigurationSource.Explicit; } if (Metadata.ValueGenerated != null) { _valueGeneratedConfigurationSource = ConfigurationSource.Explicit; } } }
public InternalKeyBuilder([NotNull] Key key, [NotNull] InternalModelBuilder modelBuilder) : base(key, modelBuilder) { }
public InternalPropertyBuilder([NotNull] Property property, [NotNull] InternalModelBuilder modelBuilder, ConfigurationSource configurationSource) : base(property, modelBuilder) { _isShadowPropertyConfigurationSource = configurationSource; }
protected InternalMetadataItemBuilder([NotNull] TMetadata metadata, [NotNull] InternalModelBuilder modelBuilder) : base(metadata) { ModelBuilder = modelBuilder; }
public InternalIndexBuilder([NotNull] Index index, [NotNull] InternalModelBuilder modelBuilder) : base(index, modelBuilder) { }
public InternalEntityBuilder([NotNull] EntityType metadata, [NotNull] InternalModelBuilder modelBuilder) : base(metadata, modelBuilder) { }
public InternalPropertyBuilder([NotNull] Property property, [NotNull] InternalModelBuilder modelBuilder) : base(property, modelBuilder) { }
public InternalIndexBuilder([NotNull] Index foreignKey, [NotNull] InternalModelBuilder modelBuilder) : base(foreignKey, modelBuilder) { }
public SqlServerModelBuilderAnnotations( [NotNull] InternalModelBuilder internalBuilder, ConfigurationSource configurationSource) : base(new RelationalAnnotationsBuilder(internalBuilder, configurationSource, SqlServerAnnotationNames.Prefix)) { }
public InternalForeignKeyBuilder([NotNull] ForeignKey foreignKey, [NotNull] InternalModelBuilder modelBuilder) : base(foreignKey, modelBuilder) { }
public static SqlServerModelBuilderAnnotations SqlServer( [NotNull] this InternalModelBuilder builder, ConfigurationSource configurationSource) => new SqlServerModelBuilderAnnotations(builder, configurationSource);
public Model([NotNull] ConventionSet conventions) { ConventionDispatcher = new ConventionDispatcher(conventions); Builder = new InternalModelBuilder(this); ConventionDispatcher.OnModelInitialized(Builder); }
public static RelationalModelBuilderAnnotations Sqlite( [NotNull] this InternalModelBuilder builder, ConfigurationSource configurationSource) => new RelationalModelBuilderAnnotations(builder, configurationSource, SqliteAnnotationNames.Prefix);
public static RelationalModelBuilderAnnotations Relational( [NotNull] this InternalModelBuilder builder, ConfigurationSource configurationSource) => new RelationalModelBuilderAnnotations(builder, configurationSource, null);