public static void Persist(ProtossDbContext dbContext) { var aggregateRoots = dbContext.ChangeTracker .Entries <IAggregateRoot>() .Select(a => a.Entity) .ToList(); var domainEvents = aggregateRoots .SelectMany(aggregateRoot => DomainEventStructureFactory.Create(aggregateRoot.GetEvents())) .ToList(); dbContext.DomainEvents.AddRange(domainEvents); aggregateRoots.ForEach(a => a.ClearEvents()); }
public EfUnitOfWork(ProtossDbContext dbContext) { _dbContext = dbContext; }
protected EfRepository(ProtossDbContext dbContext) { _dbContext = dbContext; }