我正在使用ASP.NET Zero。项目版本:5.1.0和.NET Core 2.0模板。我正在尝试为我的实体启用实体历史记录,以便我可以看到该表的已删除和旧列值。
实体类:
[Table("TestingEntity")]
[Audited]
public class TestingEntity : AuditedEntity , IMayHaveTenant
{
public int? TenantId { get; set; }
public virtual string Code { get; set; }
}
ApplicationModule类:
public class MyCompanyApplicationModule : AbpModule
{
public override void PreInitialize()
{
// ...
Configuration.EntityHistory.IsEnabledForAnonymousUsers = true;
Configuration.EntityHistory.Selectors.Add(new NamedTypeSelector("Abp.AuditedEntities", type => typeof(IAudited).IsAssignableFrom(type)));
}
// ...
}
运行以下查询不会产生任何结果。
SELECT * FROM [AbpEntityChangeSets]
SELECT * FROM [AbpEntityPropertyChanges]
SELECT * from [AbpEntityChanges]
参考:https://aspnetboilerplate.com/Pages/Documents/Entity-History
当我删除实体项时,它没有给出正确的结果。
它在[AbpEntityPropertyChanges]
表中为每个属性插入记录,旧值和新值相同。
并且没有明确的信息表明该实体项目已被删除,删除时间和DeletedBy。
这是由于在我的实体类中使用AuditedEntity
吗?我正在使用硬删除,所以我想不要将这些列添加到表中:删除,删除时间和DeletedBy。
ASP.NET Zero中禁用了实体历史记录。你可以启用它:
Configuration.EntityHistory.IsEnabled = true;
当我删除实体项时,它没有给出正确的结果。
它在
[AbpEntityPropertyChanges]
表中为每个属性插入记录,旧值和新值相同。
这已经在PR #2977中得到解决,它将与ABP v3.5一起发布。
并且没有明确的信息表明该实体项目已被删除,删除时间和DeletedBy。
这是由于在我的实体类中使用
AuditedEntity
吗?我正在使用硬删除,所以我想不要将这些列添加到表中:删除,删除时间和DeletedBy。
您不会在AbpEntityPropertyChanges
表中找到那些,因为这些不是属性更改。
EntityChange.ChangeType
EntityChangeSet.CreationTime
EntityChangeSet.UserId
AbpEntityChangeSets
和AbpEntityChanges
表之间的关系:EntityChange.cs
public class EntityChange : Entity<long>, IMayHaveTenant
{
/// <summary>
/// Gets/sets change set id, used to group entity changes.
/// </summary>
public virtual long EntityChangeSetId { get; set; }
// ...
}
EntityChange.ChangeType
的可能值:EntityChangeType.cs
public enum EntityChangeType : byte
{
Created = 0,
Updated = 1,
Deleted = 2
}
我们是否计划为此功能添加UI?这样我们就可以从UI中看到实体历史。
这已在ASP.NET Zero 5.4.0中添加。
我通过将以下值设置为true
来对文件ProjectName.EntityFrameworkCore \ EntityFrameworkCore \ ProjectNameEntityFrameworkCoreModule.cs进行以下更改来解决此问题,您需要启用实体历史记录。
Configuration.EntityHistory.IsEnabled = true;
你可以参考https://github.com/aspnetzero/aspnet-zero-core/issues/818#issuecomment-365250173。