public override InternalPropertyBuilder Apply(InternalPropertyBuilder propertyBuilder, ConcurrencyCheckAttribute attribute, PropertyInfo clrProperty)
        {
            Check.NotNull(propertyBuilder, nameof(propertyBuilder));
            Check.NotNull(attribute, nameof(attribute));

            propertyBuilder.IsConcurrencyToken(true, ConfigurationSource.DataAnnotation);

            return(propertyBuilder);
        }
        ///<inheritdoc />
        public InternalPropertyBuilder Apply(InternalPropertyBuilder propertyBuilder)
        {
            if (propertyBuilder.Metadata.Name == ConcurrencyStampPropertyName)
            {
                propertyBuilder.ValueGenerated(ValueGenerated.OnAddOrUpdate, ConfigurationSource.Convention);
                propertyBuilder.IsConcurrencyToken(true, ConfigurationSource.Convention);
            }

            return propertyBuilder;
        }
Example #3
0
        public override InternalPropertyBuilder Apply(InternalPropertyBuilder propertyBuilder, TimestampAttribute attribute, PropertyInfo clrProperty)
        {
            Check.NotNull(propertyBuilder, nameof(propertyBuilder));
            Check.NotNull(attribute, nameof(attribute));
            Check.NotNull(clrProperty, nameof(clrProperty));

            propertyBuilder.ValueGenerated(ValueGenerated.OnAddOrUpdate, ConfigurationSource.DataAnnotation);
            propertyBuilder.IsConcurrencyToken(true, ConfigurationSource.DataAnnotation);

            return(propertyBuilder);
        }