【问题标题】:Entity History is not working in aspnetboilerplate实体历史在 aspnetboilerplate 中不起作用
【发布时间】:2020-05-05 14:18:55
【问题描述】:

我正在使用 aspnetboilerplate 并在模块的 preintilize 中添加了以下配置。我还向我的实体添加了经过审计的数据注释,但它仍然无法正常工作。我的实体从 AuditedEntity 继承,因为不需要删除功能。请帮忙

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

我从这里参考了Can't enable Entity History in 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】:

    AuditedEntity&lt;long&gt; 不能分配给AuditedEntity

    改为添加基于接口IAuditedEntity的选择器。

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

    参考

    来自aspnetboilerplate/aspnetboilerplate's AuditedEntity.cs

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

    【讨论】:

    • 它们是 AuditedEntity 的 3 种不同实现,一种是 int,另一种是通用类型 TPrimaryKey。您可以在上面的代码中看到 sn-p 本身。在我的情况下,主键类型也可能因实体而异
    • 不,它不工作。它正在与使用 aproles、abpusers 等框架移植的实体一起工作,但添加的其他实体失败
    • 在 GitHub 上创建一个从 aspnetboilerplate/module-zero-core-template 派生的 repro 项目。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-30
    相关资源
    最近更新 更多