Уровень обслуживания вызовов из контекста
Во-первых, позвольте мне сказать, что я могу пойти по неверному пути с этим, но не могу понять, как заставить это работать.
То, чего я пытаюсь добиться, - это вызвать мой сервисный уровень, выполнить некоторые функции после того, как я вставлю / обновлю / удаляю записи базы данных.
Мои первые мысли заключались в том, чтобы добавить мое служение в мой контекст, но я не был уверен, возможно ли это или целесообразно в этом отношении.
Это мой контекст, где я внедряю сервис "serviceBus":
public interface IPCContext
{ }
public class PCContext : IdentityDbContext<User>, IPCContext
{
private readonly IClientBusServices _serviceBus;
public PCContext(IClientBusServices serviceBus)
: base("PayComplimentContext")
{
Database.SetInitializer(new MigrateDatabaseToLatestVersion<PCContext, Configuration>());
_serviceBus = serviceBus;
}
public override int SaveChanges()
{
var count = base.SaveChanges();
_serviceBus.SyncDw.Value.SyncDw(1, "Feedback", 1);
return count;
}
}
И для регистрации "serviceBus" я использую Autofac так:
class ClientBusModule : Module
{
protected override void Load(ContainerBuilder builder)
{
builder.RegisterAssemblyTypes(ThisAssembly)
.Where(t => t.Name.EndsWith("Service"))
.AsImplementedInterfaces();
builder.RegisterAggregateService<IClientBusServices>();
builder.RegisterType<ClientSearchIndexService>().As<IClientSearchIndexService>().InstancePerLifetimeScope();
builder.RegisterType<ClientSyncDataWarehouseService>().As<IClientSyncDataWarehouseService>().InstancePerLifetimeScope();
}
}
Я использую внедрение зависимостей в других частях моего приложения, которое работает нормально, но не тогда, когда я использую его в моем контексте. Я получаю ошибку:
The target context 'PayCompliment.Data.DbContexts.PCContext' is not constructible. Add a default constructor or provide an implementation of IDbContextFactory.
Я подхожу к этому неправильно? Любые мысли или комментарии очень ценятся.
Сначала сайт MVC, использующий код EF6.