C# EF Core dbcontext架子工不触发OperationReportHandler事件
我编写了.NETcoreC# EF Core dbcontext架子工不触发OperationReportHandler事件,c#,entity-framework,.net-core,entity-framework-core,C#,Entity Framework,.net Core,Entity Framework Core,我编写了.NETcoredbcontext scaffolder方法来生成实体类和dbcontext。一切正常,但错误列表、警告列表、信息列表、详细列表始终为空。。。如何修复OperationReportHandler以使其正常工作 var errorList = new List<string>(); var warningList = new List<string>(); var infoList = new List
dbcontext scaffolder
方法来生成实体类和dbcontext。一切正常,但错误列表、警告列表、信息列表、详细列表始终为空。。。如何修复OperationReportHandler
以使其正常工作
var errorList = new List<string>();
var warningList = new List<string>();
var infoList = new List<string>();
var verboseList = new List<string>();
var reporter = new OperationReporter(
new OperationReportHandler(
m => errorList.Add((m)),
m => warningList.Add((m)),
m => infoList.Add((m)),
m => verboseList.Add((m))));
var serviceCollection = new ServiceCollection()
.AddScaffolding(reporter)
.AddSingleton<IOperationReporter, OperationReporter>()
.AddSingleton<IOperationReportHandler, OperationReportHandler>();
IDesignTimeServices provider = new Microsoft.EntityFrameworkCore.Design.Internal.SqlServerDesignTimeServices();
provider.ConfigureDesignTimeServices(serviceCollection);
var serviceProvider = serviceCollection.BuildServiceProvider();
var generator = serviceProvider.GetService<IModelScaffolder>();
var filePaths = generator.Generate(
Config.ConnectionString,
Config.Tables,
Config.Schemas,
Config.ProjectPath,
Config.OutputPath,
Config.RootNamespace,
Config.ContextName,
false, //useDataAnnotations
Config.OverwriteFiles,
Config.UseDatabaseNames);
var errorList=新列表();
var warningList=新列表();
var infoList=新列表();
var verboseList=新列表();
var reporter=新的OperationReporter(
新OperationReportHandler(
m=>errorList.Add((m)),
m=>warningList.Add((m)),
m=>infoList.Add((m)),
m=>verboseList.Add((m));
var servicecolection=新servicecolection()
.add(记者)
.AddSingleton()
.AddSingleton();
IDesignTimeServices provider=新的Microsoft.EntityFrameworkCore.Design.Internal.SqlServerDesignTimeServices();
provider.ConfigureDesignTimeServices(serviceCollection);
var serviceProvider=servicecolection.BuildServiceProvider();
var generator=serviceProvider.GetService();
var filepath=generator.Generate(
Config.ConnectionString,
Config.Tables,
Config.Schemas,
Config.ProjectPath,
Config.OutputPath,
Config.RootNamespace,
Config.ContextName,
false,//useDataAnnotations
Config.OverwriteFiles,
Config.UseDatabaseNames);
更改此行
.AddSingleton<IOperationReporter, OperationReporter>()
.AddSingleton<IOperationReporter>(reporter)
var serviceCollection = new ServiceCollection()
.AddEntityFrameworkDesignTimeServices(reporter);