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);
        }
Ejemplo n.º 2
0
 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;
         }
     }
 }
Ejemplo n.º 3
0
 public InternalKeyBuilder([NotNull] Key key, [NotNull] InternalModelBuilder modelBuilder)
     : base(key, modelBuilder)
 {
 }
Ejemplo n.º 4
0
 public InternalPropertyBuilder([NotNull] Property property, [NotNull] InternalModelBuilder modelBuilder, ConfigurationSource configurationSource)
     : base(property, modelBuilder)
 {
     _isShadowPropertyConfigurationSource = configurationSource;
 }
Ejemplo n.º 5
0
 protected InternalMetadataItemBuilder([NotNull] TMetadata metadata, [NotNull] InternalModelBuilder modelBuilder)
     : base(metadata)
 {
     ModelBuilder = modelBuilder;
 }
Ejemplo n.º 6
0
 public InternalIndexBuilder([NotNull] Index index, [NotNull] InternalModelBuilder modelBuilder)
     : base(index, modelBuilder)
 {
 }
Ejemplo n.º 7
0
 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)
 {
 }
Ejemplo n.º 10
0
 public SqlServerModelBuilderAnnotations(
     [NotNull] InternalModelBuilder internalBuilder,
     ConfigurationSource configurationSource)
     : base(new RelationalAnnotationsBuilder(internalBuilder, configurationSource, SqlServerAnnotationNames.Prefix))
 {
 }
Ejemplo n.º 11
0
 public InternalForeignKeyBuilder([NotNull] ForeignKey foreignKey, [NotNull] InternalModelBuilder modelBuilder)
     : base(foreignKey, modelBuilder)
 {
 }
Ejemplo n.º 12
0
 public static SqlServerModelBuilderAnnotations SqlServer(
     [NotNull] this InternalModelBuilder builder,
     ConfigurationSource configurationSource)
 => new SqlServerModelBuilderAnnotations(builder, configurationSource);
Ejemplo n.º 13
0
 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);