Abp 领域事件简单实践 <一>

领域事件,是领域内发生的事件引发别的操作,其他的类可以订阅这是事件。

接着上一篇,在testOrder 上实现一个接口  IEventHandler<EntityCreatingEventData<TestOrder>>

就是说TestOrder 这个类有Creating 发生的时候,就会引发这个事件的接口的执行。 public class Test : AggregateRoot, ICreationAudited,IEventHandler<EntityCreatingEventData<TestOrder>>    {        [NotMapped]

public class Test : AggregateRoot, ICreationAudited,IEventHandler<EntityCreatingEventData<TestOrder>>
{     
    
public IRepository<Test> _repository { get; set; }

public long? CreatorUserId { get; set; }

public DateTime CreationTime { get; set; }
public string Name { get; set; }
        public string Remark { get; set; }

        public void Create()
        {
            this.Name = "gg";
            _repository.Insert(this);
        }
        public void HandleEvent(EntityCreatingEventData<TestOrder> eventData)
        {
            throw new NotImplementedException();
        }
}
 public class TestOrder : AggregateRoot, ICreationAudited
    {
        [NotMapped]
        public IRepository<TestOrder> _repository { get; set; }
        public long? CreatorUserId { get; set; }
        public DateTime CreationTime { get; set; }

        public string TestOrderName { get; set; }

        public string TestOrderRemark { get; set; }


        public void Create()
        {
            this.TestOrderName = "ggsss";

            _repository.Insert(this);  
        }
TestOrder 的_repository.Insert(this); 执行的之后,也就是工作单元保存完毕,会触发领域事件的执行(Test HandleEvent)。这是默认事件。
 


气功波(18037675651)
原文地址:https://www.cnblogs.com/qgbo/p/11281334.html