【发布时间】:2022-12-29 20:58:51
【问题描述】:
我正在尝试将用于 EF 种子迁移的 IHost 扩展从 .Net5 迁移到 .Net6。能否请您指导我进行此转换的正确方法。
public static class HostExtensions
{
public static IHost MigrateDatabase<TContext>(this IHost host,
Action<TContext, IServiceProvider> seeder,
int? retry = 0) where TContext : DbContext
{
int retryForAvailability = retry.Value;
using (var scope = host.Services.CreateScope())
{
var services = scope.ServiceProvider;
<code removed for brevity>
}
return host;
}
}
在 .Net5 中调用扩展如下:
public static void Main(string[] args)
{
CreateHostBuilder(args)
.Build()
.MigrateDatabase<OrderContext>((context, services) =>
{
var logger = services.GetService<ILogger<OrderContextSeed>>();
OrderContextSeed
.SeedAsync(context, logger)
.Wait();
})
.Run();
}
【问题讨论】:
-
你的问题是?
标签: .net entity-framework entity-framework-core .net-5 .net-6.0