Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 更新时审计.Net为表中的每个值插入空记录_C#_Entity Framework_Audit.net - Fatal编程技术网

C# 更新时审计.Net为表中的每个值插入空记录

C# 更新时审计.Net为表中的每个值插入空记录,c#,entity-framework,audit.net,C#,Entity Framework,Audit.net,我正在使用Audit.Net EntityFramework数据提供程序。 这是我在Startup.cs中的配置 Audit.Core.Configuration.Setup().UseEntityFramework(_ => _.AuditTypeMapper(t => typeof(AuditLog)).AuditEntityAction<AuditLog>((ev, entry, entity) => { entity.AuditDa

我正在使用Audit.Net EntityFramework数据提供程序。 这是我在Startup.cs中的配置

 Audit.Core.Configuration.Setup().UseEntityFramework(_ => _.AuditTypeMapper(t => typeof(AuditLog)).AuditEntityAction<AuditLog>((ev, entry, entity) =>
    {
        entity.AuditData = entry.ToJson();
        entity.AuditDate = DateTime.Now;
        entity.AuditUser = Environment.UserName;
        // entity.AuditUsername = Environment.MachineName;
        entity.AuditUsername = HttpContext.Current.User.Identity.Name;
    })
.IgnoreMatchedProperties(true));

可能有什么问题?

如果直接从已审核的数据库上下文对
审核日志
数据库集进行更改,则应将
审核日志
实体标记为不可审核,以便审核库不会拾取更改

这可以通过使用
[auditionore]
装饰类来实现,例如:

[AuditIgnore]
public class AuditLog
{
    ...
}
或通过配置:

Audit.EntityFramework.Configuration.Setup()
    .ForContext<P121DbContext>()
    .UseOptOut()
    .Ignore<AuditLog>();
Audit.EntityFramework.Configuration.Setup()
.ForContext()
.UseOptOut()
.Ignore();

谢谢!救生员!伟大的延伸!
[AuditIgnore]
public class AuditLog
{
    ...
}
Audit.EntityFramework.Configuration.Setup()
    .ForContext<P121DbContext>()
    .UseOptOut()
    .Ignore<AuditLog>();