[英]How to move AddDbContext to Service Extension static class
我在 .NET 6 中的Program.cs
中有這段代碼。
var idConnectionString = builder.Configuration.GetConnectionString("IdentityConnection");
builder.Services.AddDbContext<ApplicationDbContext>(options => options.UseSqlServer(idConnectionString));
var abcConnectionString = builder.Configuration.GetConnectionString("abcConnection");
builder.Services.RegisterSqlServer<AbcDbContext>(abcConnectionString);
var xyzConnectionString = builder.Configuration.GetConnectionString("xyzConnection");
builder.Services.AddDbContext<XzyDbContext>(x => x.UseSqlServer(xyzConnectionString));
如何將這些代碼移動到我的服務擴展 class 中?
public static class ServiceExtensions
{
public static IServiceCollection AddDbContextServices(this IServiceCollection services)
{
??
return services;
}
}
創建一個 static class DbContext 如下:
public static class DbContext
{
public static IServiceCollection AddCustomizedDbContext(this IServiceCollection services, IConfiguration configuration)
{
var connectionString = configuration.GetSection("ConnectionStrings:Connectionstring").Value;
var migrationsAssembly = "NameSpace";
services.AddDbContext<DBContext>(options =>
options.UseSqlServer(connectionString, sql => sql.MigrationsAssembly(migrationsAssembly))
);
return services;
}
}
然后在啟動時注冊它:
services.AddCustomizedDbContext(configuration);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.