Пример #1
0
        public static void AddConfiguration <TEntity>(this ModelBuilder modelBuilder, TypeConfiguration <TEntity> configuration, List <PropertyInfo> dbsets, string schema)
            where TEntity : class
        {
            var modelType = typeof(TEntity);
            var isInDbSet = dbsets.Any(x => x.PropertyType.GenericTypeArguments.First() == modelType);
            var baseType  = modelType.GetTypeInfo().BaseType;

            if (!isInDbSet)
            {
                var isTablePerHierarchy     = dbsets.Any(x => x.PropertyType.GenericTypeArguments.First() == baseType);
                var entityTypeConfiguration = new EntityTypeConfiguration();
                entityTypeConfiguration.Map(modelBuilder.Entity <TEntity>(), true, schema, isTablePerHierarchy);
            }
            configuration.Map(modelBuilder.Entity <TEntity>());
        }