Почему DbContext можно разрешить из корневой области, если среда «локальная», а не «разработка»?C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Почему DbContext можно разрешить из корневой области, если среда «локальная», а не «разработка»?

Сообщение Anonymous »

Зачем мне создавать область для разрешения DbContext, только если DOTNET_ENVIRONMENT не является «локальным»?
Когда среда установлена для «разработки», мне нужно разрешить DbContext, используя область: используя varscope = host.Services.CreateScope(), так как я получаю следующую ошибку без:

Невозможно разрешить ограниченную службу «foo.bar.baz.AssetGovernanceContext»
от корневого поставщика.

Но когда DOTNET_ENVIRONMENT< Для параметра /code> установлено значение «локальный», я могу разрешить DbContext от корневого поставщика (т. е. область действия не требуется).
Есть ли корневой поставщик em> провайдер обычно используется для разрешения синглтонов?
# Add DbContext to service collection
services.AddDbContext(options =>
{
var connectionString = configuration.GetConnectionString("SqlServer") ?? throw new ConfigurationErrorsException("Connection string not found: SqlServer");
options.UseSqlServer(connectionString);
});

# Resolve the DbContext after calling IHost.Build()
public static class HostExtensions
{
public static IHost EnsureDatabaseCreated(this IHost host)
{
var createDatabase = host.Services.GetRequiredService().GetValue("Database:EnsureCreated");
if (createDatabase)
{
using var scope = host.Services.CreateScope(); # only needed if DOTNET_ENIRONMENT isn't "local"
var dbContext = scope.ServiceProvider.GetRequiredService();
dbContext.Database.EnsureCreated();
}
return host;
}
}


Подробнее здесь: https://stackoverflow.com/questions/792 ... nt-is-loca
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»