コード例 #1
0
ファイル: EfDomainEvent.cs プロジェクト: PAKANRAHMANI/Protoss
        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());
        }
コード例 #2
0
ファイル: EfUnitOfWork.cs プロジェクト: PAKANRAHMANI/Protoss
 public EfUnitOfWork(ProtossDbContext dbContext)
 {
     _dbContext = dbContext;
 }
コード例 #3
0
 protected EfRepository(ProtossDbContext dbContext)
 {
     _dbContext = dbContext;
 }