我使用的是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; }
}
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
{
...
}