public EntityFrameworkCoreDependencyInjectionDecorator(DependencyInjectionTemplate template, IApplication application) { _template = template; _application = application; _template.AddNugetDependency(NugetPackages.EntityFrameworkCoreSqlServer(_template.Project)); _template.AddNugetDependency(NugetPackages.EntityFrameworkCoreInMemory(_template.Project)); if (_template.Project.IsNet5App()) { _template.AddNugetDependency("Microsoft.Extensions.Configuration.Binder", "5.0.0"); } if (_template.Project.IsNet6App()) { _template.AddNugetDependency("Microsoft.Extensions.Configuration.Binder", "6.0.0"); } if (_template.ExecutionContext.Settings.GetMultitenancySettings()?.DataIsolation().IsSeparateDatabases() == true) { _template.AddNugetDependency("Finbuckle.MultiTenant", "6.5.1"); } _template.ExecutionContext.EventDispatcher.Publish(new AppSettingRegistrationRequest( key: "UseInMemoryDatabase", value: "true")); _template.ExecutionContext.EventDispatcher.Publish(new ConnectionStringRegistrationRequest( name: "DefaultConnection", connectionString: $"Server=.;Initial Catalog={ _template.OutputTarget.Application.Name };Integrated Security=true;MultipleActiveResultSets=True", providerName: "System.Data.SqlClient")); }