Exemple #1
0
        public ModelBuilder Config(ModelBuilder modelBuilder, StoreEntityType storeEntity, Type efModelType)
        {
            var ignoredMembers = storeEntity.GetIgnoredMembers();

            if (ignoredMembers.Count() == 0)
            {
                return(modelBuilder);
            }

            var entityBuilder = modelBuilder.Entity(efModelType);

            foreach (var member in ignoredMembers)
            {
                entityBuilder.Ignore(member);
            }

            return(modelBuilder);
        }
Exemple #2
0
        public ModelBuilder Config(ModelBuilder modelBuilder, StoreEntityType storeEntity, Type efModelType)
        {
            var filters = storeEntity.GetQueryFilters();

            if (filters.Count() == 0)
            {
                return(modelBuilder);
            }

            var entityBuilder = modelBuilder.Entity(efModelType);

            foreach (var filter in filters)
            {
                var efFilter = ConvertToEFCoreFilter(filter, efModelType);
                entityBuilder.HasQueryFilter(efFilter);
            }

            return(modelBuilder);
        }
Exemple #3
0
        public ModelBuilder Config(ModelBuilder modelBuilder, StoreEntityType storeEntity, Type efModelType)
        {
            var properties = storeEntity.GetProperties();

            if (properties.Count() == 0)
            {
                return(modelBuilder);
            }

            var entityBuilder = modelBuilder.Entity(efModelType);

            foreach (StoreProperty property in properties)
            {
                var propertyName = property.Name;

                //consider splitting into multiple Strategy classes?
                if (property.IsConcurrency.HasValue && property.IsConcurrency.Value)
                {
                    entityBuilder.Property(propertyName).IsConcurrencyToken(true);
                }

                if (property.DefaultValue != null)
                {
                    entityBuilder.Property(propertyName).HasDefaultValue(property.DefaultValue);
                }

                if (property.IsNullable.HasValue)
                {
                    entityBuilder.Property(propertyName).IsRequired(!property.IsNullable.Value);
                }

                if (property.MaxLength.HasValue)
                {
                    entityBuilder.Property(propertyName).HasMaxLength(property.MaxLength.Value);
                }
            }

            return(modelBuilder);
        }