Как исправить ошибку - невозможно получить доступ к удаленному объекту в ASP.NET Core при внедрении DbContext - PullRequest
1 голос
/ 08 апреля 2019

У меня есть ASP.Net Core 2.1 приложение и использование EF Core 2.1 в качестве DAL

Это мой метод обслуживания DAL.

public async Task<bool> UpdateChannels(IEnumerable<Channels> subscriptions)
{
    try
    {
        //here Context(MyReosiptory =DbContext) no issue
        var zoneChannels = await Context.Channnels.Where(x => x.isActive == true).ToListAsync();
        await Context.Channels.AddRangeAsync(subscriptions);
        //but at this line it throws the error.
        await Context.SaveChangesAsync();
        return true;
    }   
    catch (Exception ex)
    {
        throw new Exception(ex.Message ?? ex.InnerException.Message);
    }
}

Однако, если я перенесу другую операцию Db (добавить) в отдельный метод, она запустится.

Но у меня есть еще одна операция Db в том же методе, и я не могу переместить каждую связанную с Db операцию в отдельный метод.

services.AddScoped<IMyRepository, MyRepository>();

Внедрение зависимости через конструктор.

Проверено по ссылке ниже.

Невозможно получить доступ к удаленному объекту в ASP.NET Core при внедрении DbContext

Но ни Seed () не поднимается, ни я не понимаю, почему я должен иметь Seed () и как это связано с удаленным объектом.

...