实体历史记录在aspnetboilerplate中无法使用。

问题描述 投票:0回答:1

我使用的是aspnetboilerplate,并在模块的preintiliaze中添加了以下配置。我也添加了数据注释Audited到我的实体,但它仍然没有工作。我的实体是继承自AuditedEntity,因为不需要删除功能。请帮助我

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

我参考了这里的内容 在ASP.NET Zero中无法启用实体历史记录。以下是实体定义

[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
1个回答
0
投票

AuditedEntity<long> 是不可分配给 AuditedEntity.

增加一个基于接口的选择器 IAuditedEntity 而不是。

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

参考文献

来自 aspnetboilerplateaspnetboilerplate的AuditedEntity.cs。:

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

public abstract class AuditedEntity<TPrimaryKey> : CreationAuditedEntity<TPrimaryKey>, IAudited
{
    ...
}
© www.soinside.com 2019 - 2024. All rights reserved.