protected override void InnerInit(IFixture fixture)
        {
            base.InnerInit(fixture);
            var metadataWithDuplicateField =
                fixture.Build <TemplateCodeGenerationMetadata>()
                .FromFactory(() => new TemplateCodeGenerationMetadata
                                 (fixture.Create <TemplateInfo>(),
                                 fixture.Create <string>(),
                                 fixture.Create <string>(),
                                 Metadata.OwnFields))
                .WithAutoProperties()
                .Create();

            Metadata.BaseTemplates.Add(metadataWithDuplicateField);
            Metadatas.Add(metadataWithDuplicateField);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Produce a <see cref="Query"/> that can be executed, saved and loaded endlessly.
        /// </summary>
        /// <returns>An executable query.</returns>
        public Query Compile()
        {
            OptimizeExecutionPlans(_executionPlanByServer);

            //Purify
            var conns    = new List <Connection>();
            var metadata = new Metadatas();

            var destinationSrv = (from server in _executionPlanByServer
                                  from insertStep in server.Value.InsertSteps
                                  select insertStep.DestinationTable.ServerId).Distinct();

            foreach (var srv in destinationSrv)
            {
                conns.Add(ConnectionsContext.Connections.Keys.First(c => c.Id == srv));
                metadata.Add(srv, Metadatas.First(s => s.Key == srv).Value);
            }

            return(new Query(ConnectionsContext, _executionPlanByServer, Query.CurrentFormatVersion));
        }