首页 > 解决方案 > Entity History is not working in aspnetboilerplate

问题描述

I am using aspnetboilerplate and added below configuration in preintiliaze in module. I have also added data annotation Audited to my entity but still it is not working. My entity is inheriting from AuditedEntity as don't need deleted feature. Please help

Configuration.EntityHistory.IsEnabled = true; Configuration.EntityHistory.Selectors.Add(new NamedTypeSelector("Abp.AuditedEntities", type => typeof(AuditedEntity).IsAssignableFrom(type)));

I have taken reference from here Can't enable Entity History in ASP.NET Zero Below is entity definition

[Audited]
public partial class QuestionResponse : AuditedEntity<long>
{
    public long ApplicationId { get; set; }
    public long QuestionId { get; set; }
    public string Response { get; set; }
    public string Remark { get; set; }
    public bool IsActive { get; set; }

    public Application Application { get; set; }
    public AbpUsers CreatorUser { get; set; }
    public AbpUsers LastModifierUser { get; set; }
    public Question Question { get; set; }
} 

标签: aspnetboilerplate

解决方案


AuditedEntity<long>不可分配给AuditedEntity

改为添加基于界面的选择器IAuditedEntity

Configuration.EntityHistory.Selectors.Add(
    new NamedTypeSelector("Abp.AuditedEntities", type => 
     // typeof(AuditedEntity).IsAssignableFrom(type)));
        typeof(IAuditedEntity).IsAssignableFrom(type)));

参考

aspnetboilerplate/aspnetboilerplate 的 AuditedEntity.cs

public abstract class AuditedEntity : AuditedEntity<int>, IEntity
{
}

public abstract class AuditedEntity<TPrimaryKey> : CreationAuditedEntity<TPrimaryKey>, IAudited
{
    ...
}

推荐阅读