Пример #1
0
        /// <summary>
        ///     This is an internal API that supports the Entity Framework Core infrastructure and not subject to
        ///     the same compatibility standards as public APIs. It may be changed or removed without notice in
        ///     any release. You should only use it directly in your code with extreme caution and knowing that
        ///     doing so can result in application failures when updating to a new Entity Framework Core release.
        /// </summary>
        public ReverseEngineerScaffolder(
            IDatabaseModelFactory databaseModelFactory,
            IScaffoldingModelFactory scaffoldingModelFactory,
            IModelCodeGeneratorSelector modelCodeGeneratorSelector,
            ICSharpUtilities cSharpUtilities,
            ICSharpHelper cSharpHelper,
            INamedConnectionStringResolver connectionStringResolver,
            IOperationReporter reporter)
        {
            Check.NotNull(databaseModelFactory, nameof(databaseModelFactory));
            Check.NotNull(scaffoldingModelFactory, nameof(scaffoldingModelFactory));
            Check.NotNull(modelCodeGeneratorSelector, nameof(modelCodeGeneratorSelector));
            Check.NotNull(cSharpUtilities, nameof(cSharpUtilities));
            Check.NotNull(cSharpHelper, nameof(cSharpHelper));
            Check.NotNull(connectionStringResolver, nameof(connectionStringResolver));
            Check.NotNull(reporter, nameof(reporter));

            _databaseModelFactory = databaseModelFactory;
            _factory = scaffoldingModelFactory;
            ModelCodeGeneratorSelector = modelCodeGeneratorSelector;
            _cSharpUtilities           = cSharpUtilities;
            _code = cSharpHelper;
            _connectionStringResolver = connectionStringResolver;
            _reporter = reporter;
        }
 /// <summary>
 /// Constructor for the HbsCSharpModelGenerator.
 /// </summary>
 /// <param name="databaseModelFactory">Service to reverse engineer a database into a database model.</param>
 /// <param name="scaffoldingModelFactory">Factory to create a scaffolding model.</param>
 /// <param name="modelCodeGeneratorSelector">Selects a model code generator service for a given programming language.</param>
 /// <param name="cSharpUtilities">C# utilities.</param>
 /// <param name="cSharpHelper">C# helper.</param>
 /// <param name="connectionStringResolver">Connection string resolver.</param>
 public HbsReverseEngineerScaffolder(
     IDatabaseModelFactory databaseModelFactory,
     IScaffoldingModelFactory scaffoldingModelFactory,
     IModelCodeGeneratorSelector modelCodeGeneratorSelector,
     ICSharpUtilities cSharpUtilities,
     ICSharpHelper cSharpHelper,
     INamedConnectionStringResolver connectionStringResolver) : base(databaseModelFactory, scaffoldingModelFactory, modelCodeGeneratorSelector, cSharpUtilities, cSharpHelper, connectionStringResolver)
 {
 }
Пример #3
0
 /// <summary>
 ///     This API supports the Entity Framework Core infrastructure and is not intended to be used
 ///     directly from your code. This API may change or be removed in future releases.
 /// </summary>
 public ReverseEngineerScaffolder(
     IDatabaseModelFactory databaseModelFactory,
     IScaffoldingModelFactory scaffoldingModelFactory,
     IScaffoldingCodeGenerator scaffoldingCodeGenerator,
     ICSharpUtilities cSharpUtilities)
 {
     _databaseModelFactory = databaseModelFactory ?? throw new ArgumentNullException(nameof(databaseModelFactory));
     _factory = scaffoldingModelFactory ?? throw new ArgumentNullException(nameof(scaffoldingModelFactory));
     ScaffoldingCodeGenerator = scaffoldingCodeGenerator ?? throw new ArgumentNullException(nameof(scaffoldingCodeGenerator));
     _cSharpUtilities         = cSharpUtilities ?? throw new ArgumentNullException(nameof(cSharpUtilities));
 }
Пример #4
0
        /// <summary>
        ///     This API supports the Entity Framework Core infrastructure and is not intended to be used
        ///     directly from your code. This API may change or be removed in future releases.
        /// </summary>
        public ModelScaffolder(
            [NotNull] IScaffoldingModelFactory scaffoldingModelFactory,
            [NotNull] IScaffoldingCodeGenerator scaffoldingCodeGenerator,
            [NotNull] ICSharpUtilities cSharpUtilities)
        {
            Check.NotNull(scaffoldingModelFactory, nameof(scaffoldingModelFactory));
            Check.NotNull(scaffoldingCodeGenerator, nameof(scaffoldingCodeGenerator));

            _factory = scaffoldingModelFactory;
            ScaffoldingCodeGenerator = scaffoldingCodeGenerator;
            _cSharpUtilities         = cSharpUtilities;
        }
        /// <summary>
        ///     This API supports the Entity Framework Core infrastructure and is not intended to be used
        ///     directly from your code. This API may change or be removed in future releases.
        /// </summary>
        public ReverseEngineeringGenerator(
            [NotNull] IScaffoldingModelFactory scaffoldingModelFactory,
            [NotNull] ConfigurationFactory configurationFactory,
            [NotNull] CodeWriter codeWriter)
        {
            Check.NotNull(scaffoldingModelFactory, nameof(scaffoldingModelFactory));
            Check.NotNull(configurationFactory, nameof(configurationFactory));
            Check.NotNull(codeWriter, nameof(codeWriter));

            _factory = scaffoldingModelFactory;
            _configurationFactory = configurationFactory;
            CodeWriter            = codeWriter;
        }
        public RelationalDatabaseModelFactoryTest()
        {
            _reporter = new TestOperationReporter();

            var services = new ServiceCollection()
                           .AddEntityFrameworkDesignTimeServices(_reporter)
                           .AddSingleton <IScaffoldingModelFactory, FakeScaffoldingModelFactory>();

            new SqlServerDesignTimeServices().ConfigureDesignTimeServices(services);

            _factory = services
                       .BuildServiceProvider()
                       .GetRequiredService <IScaffoldingModelFactory>();
        }
Пример #7
0
    public RelationalScaffoldingModelFactoryTest()
    {
        _reporter = new TestOperationReporter();

        var assembly = typeof(RelationalScaffoldingModelFactoryTest).Assembly;

        _factory = new DesignTimeServicesBuilder(assembly, assembly, _reporter, new string[0])
                   .CreateServiceCollection("Microsoft.EntityFrameworkCore.SqlServer")
                   .AddSingleton <IScaffoldingModelFactory, FakeScaffoldingModelFactory>()
                   .BuildServiceProvider(validateScopes: true)
                   .GetRequiredService <IScaffoldingModelFactory>();

        _reporter.Clear();
    }
        /// <summary>
        ///     This API supports the Entity Framework Core infrastructure and is not intended to be used
        ///     directly from your code. This API may change or be removed in future releases.
        /// </summary>
        public ReverseEngineerScaffolder(
            [NotNull] IDatabaseModelFactory databaseModelFactory,
            [NotNull] IScaffoldingModelFactory scaffoldingModelFactory,
            [NotNull] IModelCodeGeneratorSelector modelCodeGeneratorSelector,
            [NotNull] ICSharpUtilities cSharpUtilities)
        {
            Check.NotNull(databaseModelFactory, nameof(databaseModelFactory));
            Check.NotNull(scaffoldingModelFactory, nameof(scaffoldingModelFactory));
            Check.NotNull(modelCodeGeneratorSelector, nameof(modelCodeGeneratorSelector));

            _databaseModelFactory = databaseModelFactory;
            _factory = scaffoldingModelFactory;
            ModelCodeGeneratorSelector = modelCodeGeneratorSelector;
            _cSharpUtilities           = cSharpUtilities;
        }
Пример #9
0
        public ReverseEngineeringGenerator(
            [NotNull] ILoggerFactory loggerFactory,
            [NotNull] IScaffoldingModelFactory scaffoldingModelFactory,
            [NotNull] ConfigurationFactory configurationFactory,
            [NotNull] CodeWriter codeWriter)
        {
            Check.NotNull(loggerFactory, nameof(loggerFactory));
            Check.NotNull(scaffoldingModelFactory, nameof(scaffoldingModelFactory));
            Check.NotNull(configurationFactory, nameof(configurationFactory));
            Check.NotNull(codeWriter, nameof(codeWriter));

            Logger   = loggerFactory.CreateCommandsLogger();
            _factory = scaffoldingModelFactory;
            _configurationFactory = configurationFactory;
            CodeWriter            = codeWriter;
        }
Пример #10
0
        protected E2ETestBase(ITestOutputHelper output)
        {
            _output = output;

            var serviceProvider = ConfigureDesignTimeServices(
                new ServiceCollection()
                .AddScaffolding()
                .AddLogging())
                                  .AddSingleton(typeof(IFileService), sp => InMemoryFiles = new InMemoryFileService()).BuildServiceProvider();

            _logger = new InMemoryCommandLogger("E2ETest", _output);
            serviceProvider.GetService <ILoggerFactory>().AddProvider(new TestLoggerProvider(_logger));

            Generator = serviceProvider.GetRequiredService <ReverseEngineeringGenerator>();
            ScaffoldingModelFactory = serviceProvider.GetRequiredService <IScaffoldingModelFactory>();
        }
Пример #11
0
        protected E2ETestBase(ITestOutputHelper output)
        {
            _output = output;

            var serviceProvider = ConfigureDesignTimeServices(
                new ServiceCollection()
                    .AddScaffolding()
                    .AddLogging())
                .AddSingleton(typeof(IFileService), sp => InMemoryFiles = new InMemoryFileService()).BuildServiceProvider();

            _logger = new InMemoryCommandLogger("E2ETest", _output);
            serviceProvider.GetService<ILoggerFactory>().AddProvider(new TestLoggerProvider(_logger));

            Generator = serviceProvider.GetRequiredService<ReverseEngineeringGenerator>();
            ScaffoldingModelFactory = serviceProvider.GetRequiredService<IScaffoldingModelFactory>();
        }
 /// <summary>
 /// Constructor for the HbsCSharpModelGenerator.
 /// </summary>
 /// <param name="databaseModelFactory">Service to reverse engineer a database into a database model.</param>
 /// <param name="scaffoldingModelFactory">Factory to create a scaffolding model.</param>
 /// <param name="modelCodeGeneratorSelector">Selects a model code generator service for a given programming language.</param>
 /// <param name="cSharpUtilities">C# utilities.</param>
 /// <param name="cSharpHelper">C# helper.</param>
 /// <param name="connectionStringResolver">Connection string resolver.</param>
 public HbsReverseEngineerScaffolderEnhance(
     HandlebarsScaffoldingOptions handlebarsScaffoldingOptions,
     IDatabaseModelFactory databaseModelFactory,
     IScaffoldingModelFactory scaffoldingModelFactory,
     IModelCodeGeneratorSelector modelCodeGeneratorSelector,
     ICSharpUtilities cSharpUtilities,
     ICSharpHelper cSharpHelper,
     INamedConnectionStringResolver connectionStringResolver) : base(databaseModelFactory,
                                                                     scaffoldingModelFactory,
                                                                     modelCodeGeneratorSelector,
                                                                     cSharpUtilities,
                                                                     cSharpHelper,
                                                                     connectionStringResolver)
 {
     HandlebarsScaffoldingOptions = handlebarsScaffoldingOptions ?? HandlebarsScaffoldingOptions.Default;
 }
        public ReverseEngineeringGenerator(
            [NotNull] ILoggerFactory loggerFactory,
            [NotNull] IScaffoldingModelFactory scaffoldingModelFactory,
            [NotNull] ConfigurationFactory configurationFactory,
            [NotNull] CodeWriter codeWriter)
        {
            Check.NotNull(loggerFactory, nameof(loggerFactory));
            Check.NotNull(scaffoldingModelFactory, nameof(scaffoldingModelFactory));
            Check.NotNull(configurationFactory, nameof(configurationFactory));
            Check.NotNull(codeWriter, nameof(codeWriter));

            Logger = loggerFactory.CreateCommandsLogger();
            _factory = scaffoldingModelFactory;
            _configurationFactory = configurationFactory;
            CodeWriter = codeWriter;
        }
Пример #14
0
 /// <summary>
 ///     This is an internal API that supports the Entity Framework Core infrastructure and not subject to
 ///     the same compatibility standards as public APIs. It may be changed or removed without notice in
 ///     any release. You should only use it directly in your code with extreme caution and knowing that
 ///     doing so can result in application failures when updating to a new Entity Framework Core release.
 /// </summary>
 public ReverseEngineerScaffolder(
     IDatabaseModelFactory databaseModelFactory,
     IScaffoldingModelFactory scaffoldingModelFactory,
     IModelCodeGeneratorSelector modelCodeGeneratorSelector,
     ICSharpUtilities cSharpUtilities,
     ICSharpHelper cSharpHelper,
     IDesignTimeConnectionStringResolver connectionStringResolver,
     IOperationReporter reporter)
 {
     _databaseModelFactory = databaseModelFactory;
     _factory = scaffoldingModelFactory;
     ModelCodeGeneratorSelector = modelCodeGeneratorSelector;
     _cSharpUtilities           = cSharpUtilities;
     _code = cSharpHelper;
     _connectionStringResolver = connectionStringResolver;
     _reporter = reporter;
 }
Пример #15
0
 /// <summary>
 /// Constructor for the HbsCSharpModelGenerator.
 /// </summary>
 /// <param name="databaseModelFactory">Service to reverse engineer a database into a database model.</param>
 /// <param name="scaffoldingModelFactory">Factory to create a scaffolding model.</param>
 /// <param name="modelCodeGeneratorSelector">Selects a model code generator service for a given programming language.</param>
 /// <param name="cSharpUtilities">C# utilities.</param>
 /// <param name="cSharpHelper">C# helper.</param>
 /// <param name="connectionStringResolver">Connection string resolver.</param>
 /// <param name="reporter">Operation reporter.</param>
 public HbsReverseEngineerScaffolder(
     [NotNull] IDatabaseModelFactory databaseModelFactory,
     [NotNull] IScaffoldingModelFactory scaffoldingModelFactory,
     [NotNull] IModelCodeGeneratorSelector modelCodeGeneratorSelector,
     [NotNull] ICSharpUtilities cSharpUtilities,
     [NotNull] ICSharpHelper cSharpHelper,
     [NotNull] INamedConnectionStringResolver connectionStringResolver,
     [NotNull] IOperationReporter reporter)
     : base(databaseModelFactory, scaffoldingModelFactory, modelCodeGeneratorSelector, cSharpUtilities, cSharpHelper, connectionStringResolver, reporter)
 {
     Check.NotNull(databaseModelFactory, nameof(databaseModelFactory));
     Check.NotNull(scaffoldingModelFactory, nameof(scaffoldingModelFactory));
     Check.NotNull(modelCodeGeneratorSelector, nameof(modelCodeGeneratorSelector));
     Check.NotNull(cSharpUtilities, nameof(cSharpUtilities));
     Check.NotNull(cSharpHelper, nameof(cSharpHelper));
     Check.NotNull(connectionStringResolver, nameof(connectionStringResolver));
     Check.NotNull(reporter, nameof(reporter));
 }
Пример #16
0
        protected E2ETestBase(ITestOutputHelper output)
        {
            _output = output;

            var serviceBuilder = new ServiceCollection()
                                 .AddScaffolding()
                                 .AddLogging();

            ConfigureDesignTimeServices(serviceBuilder);

            var serviceProvider = serviceBuilder
                                  .AddSingleton(typeof(IFileService), sp => InMemoryFiles = new InMemoryFileService()).BuildServiceProvider();

            _reporter = new InMemoryOperationReporter(_output);
            serviceProvider.GetService <ILoggerFactory>().AddProvider(new LoggerProvider(categoryName => new OperationLogger(categoryName, _reporter)));

            Generator = serviceProvider.GetRequiredService <ReverseEngineeringGenerator>();
            ScaffoldingModelFactory = serviceProvider.GetRequiredService <IScaffoldingModelFactory>();
        }
Пример #17
0
 public ReverseEngineerScaffolder(
     IDatabaseModelFactory databaseModelFactory,
     IScaffoldingModelFactory scaffoldingModelFactory,
     IFunctionScaffolder functionScaffolder,
     IFunctionModelFactory functionModelFactory,
     IProcedureScaffolder procedureScaffolder,
     IProcedureModelFactory procedureModelFactory,
     IModelCodeGeneratorSelector modelCodeGeneratorSelector,
     ICSharpHelper cSharpHelper)
 {
     this.databaseModelFactory = databaseModelFactory;
     factory = scaffoldingModelFactory;
     code    = cSharpHelper;
     this.functionScaffolder    = functionScaffolder;
     this.functionModelFactory  = functionModelFactory;
     this.procedureScaffolder   = procedureScaffolder;
     this.procedureModelFactory = procedureModelFactory;
     ModelCodeGeneratorSelector = modelCodeGeneratorSelector;
 }
Пример #18
0
        protected E2ETestBase(ITestOutputHelper output)
        {
            _output = output;

            _reporter = new TestOperationReporter();

            var serviceBuilder = new ServiceCollection()
                                 .AddSingleton <IOperationReporter>(_reporter)
                                 .AddScaffolding(_reporter)
                                 .AddLogging();

            ConfigureDesignTimeServices(serviceBuilder);

            var serviceProvider = serviceBuilder
                                  .AddSingleton(typeof(IFileService), sp => InMemoryFiles = new InMemoryFileService())
                                  .BuildServiceProvider();

            Generator = serviceProvider.GetRequiredService <IModelScaffolder>();
            ScaffoldingModelFactory = serviceProvider.GetRequiredService <IScaffoldingModelFactory>();
        }