コード例 #1
0
        private DomainBuilderConfiguration BuildBuilderConfiguration(UpgradeContext context)
        {
            var configuration = new DomainBuilderConfiguration {
                DomainConfiguration = context.Configuration,
                Stage                = context.Stage,
                Services             = context.Services,
                ModelFilter          = new StageModelFilter(context.UpgradeHandlers, UpgradeStage.Final),
                UpgradeContextCookie = context.Cookie,
                RecycledDefinitions  = context.RecycledDefinitions,
                DefaultSchemaInfo    = null
            };

            return(configuration);
        }
コード例 #2
0
        private static void ProcessRecycledDefinitions(DomainBuilderConfiguration configuration, DomainModelDef model)
        {
            var fieldDefinitions = configuration.RecycledDefinitions.OfType <RecycledFieldDefinition>();

            foreach (var definition in fieldDefinitions)
            {
                var entity = model.Types.TryGetValue(definition.OwnerType);
                if (entity == null)
                {
                    throw new InvalidOperationException(string.Format(
                                                            Strings.ExUnableToProcessRecycledFieldDefinitionXOwnerTypeIsNotRegisteredInModel, definition.OwnerType));
                }
                entity.DefineField(definition.FieldName, definition.FieldType);
            }
        }
コード例 #3
0
        private DomainBuilderConfiguration CreateDomainBuilderConfiguration(UpgradeStage stage)
        {
            var configuration = new DomainBuilderConfiguration {
                DomainConfiguration = context.Configuration,
                Stage                = stage,
                Services             = context.Services,
                ModelFilter          = new StageModelFilter(context.UpgradeHandlers, stage),
                UpgradeContextCookie = context.Cookie,
                RecycledDefinitions  = context.RecycledDefinitions,
                DefaultSchemaInfo    = defaultSchemaInfo
            };

            configuration.Lock();
            return(configuration);
        }
コード例 #4
0
        // Constructors

        internal BuildingContext(DomainBuilderConfiguration builderConfiguration)
        {
            ArgumentValidator.EnsureArgumentNotNull(builderConfiguration, "builderConfiguration");

            BuilderConfiguration  = builderConfiguration;
            PairedAssociations    = new List <Pair <AssociationInfo, string> >();
            DiscardedAssociations = new HashSet <AssociationInfo>();
            ModelInspectionResult = new ModelInspectionResult();
            DependencyGraph       = new Graph <TypeDef>();

            Modules           = BuilderConfiguration.Services.Modules.ToList().AsReadOnly();
            Modules2          = Modules.OfType <IModule2>().ToList().AsReadOnly();
            Validator         = new Validator(builderConfiguration.Services.ProviderInfo.SupportedTypes);
            DefaultSchemaInfo = builderConfiguration.DefaultSchemaInfo;
        }