public EntityFrameworkModelProcessor(
            string dbContextFullTypeName,
            ModelType modelTypeSymbol,
            string areaName,
            ICodeGenAssemblyLoadContext loader,
            IDbContextEditorServices dbContextEditorServices,
            IModelTypesLocator modelTypesLocator,
            Workspace workspace,
            IProjectContext projectContext,
            IApplicationInfo applicationInfo,
            IFileSystem fileSystem,
            ILogger logger)
        {
            if (string.IsNullOrEmpty(dbContextFullTypeName))
            {
                throw new ArgumentException(nameof(dbContextFullTypeName));
            }

            _dbContextFullTypeName = dbContextFullTypeName;
            _modelTypeSymbol       = modelTypeSymbol;
            _areaName = areaName;
            _dbContextEditorServices = dbContextEditorServices;
            _modelTypesLocator       = modelTypesLocator;
            _logger          = logger;
            _loader          = loader;
            _projectContext  = projectContext;
            _applicationInfo = applicationInfo;
            _fileSystem      = fileSystem;
            _workspace       = workspace;

            _assemblyAttributeGenerator = GetAssemblyAttributeGenerator();
        }
Ejemplo n.º 2
0
 public EntityFrameworkServices(
     [NotNull] ILibraryManager libraryManager,
     [NotNull] IApplicationEnvironment environment,
     [NotNull] IAssemblyLoaderEngine loader,
     [NotNull] IModelTypesLocator modelTypesLocator,
     [NotNull] IDbContextEditorServices dbContextEditorServices)
 {
     _libraryManager          = libraryManager;
     _environment             = environment;
     _loader                  = loader;
     _modelTypesLocator       = modelTypesLocator;
     _dbContextEditorServices = dbContextEditorServices;
 }
Ejemplo n.º 3
0
 public EntityFrameworkServices(
     [NotNull] ILibraryManager libraryManager,
     [NotNull] IApplicationEnvironment environment,
     [NotNull] IAssemblyLoadContextAccessor loader,
     [NotNull] IModelTypesLocator modelTypesLocator,
     [NotNull] IDbContextEditorServices dbContextEditorServices,
     [NotNull] IPackageInstaller packageInstaller,
     [NotNull] ILogger logger)
 {
     _libraryManager          = libraryManager;
     _environment             = environment;
     _loader                  = loader.GetLoadContext(typeof(EntityFrameworkServices).GetTypeInfo().Assembly);
     _modelTypesLocator       = modelTypesLocator;
     _dbContextEditorServices = dbContextEditorServices;
     _packageInstaller        = packageInstaller;
     _logger                  = logger;
 }
Ejemplo n.º 4
0
        private EntityFrameworkServices GetEfServices(string path, string applicationName, bool useSqlite)
        {
            _appInfo          = new ApplicationInfo(applicationName, Path.GetDirectoryName(path), "Debug");
            _logger           = new ConsoleLogger();
            _packageInstaller = new Mock <IPackageInstaller>();
            _serviceProvider  = new Mock <IServiceProvider>();

            _projectContext    = GetProjectInformation(path);
            _workspace         = new RoslynWorkspace(_projectContext);
            _loader            = new TestAssemblyLoadContext(_projectContext);
            _modelTypesLocator = new ModelTypesLocator(_workspace);
            var dbContextMock        = new Mock <IDbContextEditorServices>();
            var editSyntaxTreeResult = new EditSyntaxTreeResult()
            {
                Edited = true
            };

            dbContextMock.Setup(db => db.EditStartupForNewContext(It.IsAny <ModelType>(),
                                                                  It.IsAny <string>(),
                                                                  It.IsAny <string>(),
                                                                  It.IsAny <string>(),
                                                                  useSqlite))
            .Returns(editSyntaxTreeResult);

            var connectionStringsWriter = new Mock <IConnectionStringsWriter>();

            connectionStringsWriter.Setup(c => c.AddConnectionString(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <bool>()));

            var filesLocator       = new FilesLocator();
            var compilationService = new RoslynCompilationService(_appInfo, _loader, _projectContext);
            var templatingService  = new Templating.RazorTemplating(compilationService);

            _dbContextEditorServices = new DbContextEditorServices(_projectContext, _appInfo, filesLocator, templatingService, connectionStringsWriter.Object);

            return(new EntityFrameworkServices(
                       _projectContext,
                       _appInfo,
                       _loader,
                       _modelTypesLocator,
                       _dbContextEditorServices,
                       _packageInstaller.Object,
                       _serviceProvider.Object,
                       _workspace,
                       DefaultFileSystem.Instance,
                       _logger));
        }
Ejemplo n.º 5
0
 public EntityFrameworkServices(
     [NotNull]ILibraryManager libraryManager,
     [NotNull]IApplicationEnvironment environment,
     [NotNull]IAssemblyLoadContextAccessor loader,
     [NotNull]IModelTypesLocator modelTypesLocator,
     [NotNull]IDbContextEditorServices dbContextEditorServices,
     [NotNull]IPackageInstaller packageInstaller,
     [NotNull]ILogger logger)
 {
     _libraryManager = libraryManager;
     _environment = environment;
     _loader = loader.GetLoadContext(typeof(EntityFrameworkServices).GetTypeInfo().Assembly);
     _modelTypesLocator = modelTypesLocator;
     _dbContextEditorServices = dbContextEditorServices;
     _packageInstaller = packageInstaller;
     _logger = logger;
 }
Ejemplo n.º 6
0
        public EntityFrameworkServices(
            ILibraryManager libraryManager,
            ILibraryExporter libraryExporter,
            IApplicationInfo applicationInfo,
            ICodeGenAssemblyLoadContext loader,
            IModelTypesLocator modelTypesLocator,
            IDbContextEditorServices dbContextEditorServices,
            IPackageInstaller packageInstaller,
            IServiceProvider serviceProvider,
            Workspace workspace,
            ILogger logger)
        {
            if (libraryManager == null)
            {
                throw new ArgumentNullException(nameof(libraryManager));
            }

            if (libraryExporter == null)
            {
                throw new ArgumentNullException(nameof(libraryExporter));
            }

            if (applicationInfo == null)
            {
                throw new ArgumentNullException(nameof(applicationInfo));
            }

            if (loader == null)
            {
                throw new ArgumentNullException(nameof(loader));
            }

            if (modelTypesLocator == null)
            {
                throw new ArgumentNullException(nameof(modelTypesLocator));
            }

            if (dbContextEditorServices == null)
            {
                throw new ArgumentNullException(nameof(dbContextEditorServices));
            }

            if (packageInstaller == null)
            {
                throw new ArgumentNullException(nameof(packageInstaller));
            }

            if (serviceProvider == null)
            {
                throw new ArgumentNullException(nameof(serviceProvider));
            }

            if (logger == null)
            {
                throw new ArgumentNullException(nameof(logger));
            }

            if (workspace == null)
            {
                throw new ArgumentNullException(nameof(workspace));
            }

            _libraryManager          = libraryManager;
            _libraryExporter         = libraryExporter;
            _applicationInfo         = applicationInfo;
            _loader                  = loader;
            _modelTypesLocator       = modelTypesLocator;
            _dbContextEditorServices = dbContextEditorServices;
            _packageInstaller        = packageInstaller;
            _serviceProvider         = serviceProvider;
            _logger                  = logger;
            _workspace               = workspace;
        }
Ejemplo n.º 7
0
        public EntityFrameworkServices(
            IProjectContext projectContext,
            IApplicationInfo applicationInfo,
            ICodeGenAssemblyLoadContext loader,
            IModelTypesLocator modelTypesLocator,
            IDbContextEditorServices dbContextEditorServices,
            IPackageInstaller packageInstaller,
            IServiceProvider serviceProvider,
            Workspace workspace,
            IFileSystem fileSystem,
            ILogger logger)
        {
            if (projectContext == null)
            {
                throw new ArgumentNullException(nameof(projectContext));
            }

            if (applicationInfo == null)
            {
                throw new ArgumentNullException(nameof(applicationInfo));
            }

            if (loader == null)
            {
                throw new ArgumentNullException(nameof(loader));
            }

            if (modelTypesLocator == null)
            {
                throw new ArgumentNullException(nameof(modelTypesLocator));
            }

            if (dbContextEditorServices == null)
            {
                throw new ArgumentNullException(nameof(dbContextEditorServices));
            }

            if (packageInstaller == null)
            {
                throw new ArgumentNullException(nameof(packageInstaller));
            }

            if (serviceProvider == null)
            {
                throw new ArgumentNullException(nameof(serviceProvider));
            }

            if (logger == null)
            {
                throw new ArgumentNullException(nameof(logger));
            }

            if (workspace == null)
            {
                throw new ArgumentNullException(nameof(workspace));
            }

            if (fileSystem == null)
            {
                throw new ArgumentNullException(nameof(fileSystem));
            }

            _projectContext          = projectContext;
            _applicationInfo         = applicationInfo;
            _loader                  = loader;
            _modelTypesLocator       = modelTypesLocator;
            _dbContextEditorServices = dbContextEditorServices;
            _packageInstaller        = packageInstaller;
            _serviceProvider         = serviceProvider;
            _logger                  = logger;
            _workspace               = workspace;
            _fileSystem              = fileSystem;
        }
        public EntityFrameworkServices(
            ILibraryManager libraryManager,
            ILibraryExporter libraryExporter,
            IApplicationEnvironment environment,
            IAssemblyLoadContextAccessor loader,
            IModelTypesLocator modelTypesLocator,
            IDbContextEditorServices dbContextEditorServices,
            IPackageInstaller packageInstaller,
            IServiceProvider serviceProvider,
            ILogger logger)
        {
            if (libraryManager == null)
            {
                throw new ArgumentNullException(nameof(libraryManager));
            }

            if (libraryExporter == null)
            {
                throw new ArgumentNullException(nameof(libraryExporter));
            }

            if (environment == null)
            {
                throw new ArgumentNullException(nameof(environment));
            }

            if (loader == null)
            {
                throw new ArgumentNullException(nameof(loader));
            }

            if (modelTypesLocator == null)
            {
                throw new ArgumentNullException(nameof(modelTypesLocator));
            }

            if (dbContextEditorServices == null)
            {
                throw new ArgumentNullException(nameof(dbContextEditorServices));
            }

            if (packageInstaller == null)
            {
                throw new ArgumentNullException(nameof(packageInstaller));
            }

            if (serviceProvider == null)
            {
                throw new ArgumentNullException(nameof(serviceProvider));
            }

            if (logger == null)
            {
                throw new ArgumentNullException(nameof(logger));
            }

            _libraryManager = libraryManager;
            _libraryExporter = libraryExporter;
            _environment = environment;
            _loader = loader.GetLoadContext(typeof(EntityFrameworkServices).GetTypeInfo().Assembly);
            _modelTypesLocator = modelTypesLocator;
            _dbContextEditorServices = dbContextEditorServices;
            _packageInstaller = packageInstaller;
            _serviceProvider = serviceProvider;
            _logger = logger;
        }