Example #1
0
        public override InternalPropertyBuilder Apply(InternalPropertyBuilder propertyBuilder, DatabaseGeneratedAttribute attribute, MemberInfo clrMember)
        {
            FirebirdSqlValueGenerationStrategy?valueGenerationStrategy = null;
            ValueGenerated valueGenerated = ValueGenerated.Never;

            if (attribute.DatabaseGeneratedOption == DatabaseGeneratedOption.Computed)
            {
                valueGenerated          = ValueGenerated.OnAddOrUpdate;
                valueGenerationStrategy = FirebirdSqlValueGenerationStrategy.ComputedColumn;
            }
            else if (attribute.DatabaseGeneratedOption == DatabaseGeneratedOption.Identity)
            {
                valueGenerated          = ValueGenerated.OnAdd;
                valueGenerationStrategy = FirebirdSqlValueGenerationStrategy.IdentityColumn;
            }

            propertyBuilder.ValueGenerated(valueGenerated, ConfigurationSource.Convention);
            propertyBuilder.FirebirdSql(ConfigurationSource.DataAnnotation).ValueGenerationStrategy(valueGenerationStrategy);

            return(base.Apply(propertyBuilder, attribute, clrMember));
        }