Я использую поставщика данных 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));
Это DBContext
public class P121DbContext : Audit.EntityFramework.AuditDbContext, IDbContext
{
public P121DbContext()
: base("P121DbContext")
{
Database.SetInitializer<P121DbContext>(null);
}
public Database GetDatabase()
{
return this.Database;
}
public new DbEntityEntry<T> Entry<T>(T entity) where T : class
{
return (new P121DbContext().Entry(entity) as DbEntityEntry<T>);
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
}
#region Entities
public DbSet<Activity> Activities { get; set; }
public DbSet<ActivitySource> ActivitySources { get; set; }
public DbSet<Client> Clients { get; set; }
public DbSet<ClientOperator> ClientOperators { get; set; }
public DbSet<Contact> Contacts { get; set; }
public DbSet<ActionSource> ActionSources { get; set; }
public DbSet<DeliveryAction> DeliveryAction { get; set; }
public DbSet<Exclusion> Exclusions { get; set; }
//public DbSet<CompanyDetails> CompanyDetails { get; set; }
public DbSet<DeliveryActions> DeliveryActions { get; set; }
public DbSet<Fan> Fans { get; set; }
public DbSet<FanActivity> FanActivities { get; set; }
public DbSet<FanStatus> FanStatuses { get; set; }
public DbSet<FanEmailResponseStatus> EmailResponsStatuses { get; set; }
public DbSet<Batch> Batches { get; set; }
public DbSet<LinkedInProfile> LinkedInProfiles { get; set; }
//public DbSet<ProfileDetails> ProfileDetails { get; set; }
public DbSet<ProfileFan> ProfileFans { get; set; }
public DbSet<SavedSearchParameters> SavedSearchParameters { get; set; }
public DbSet<Message> Messages { get; set; }
public DbSet<LinkedInAccount> LinkedInAccounts { get; set; }
//public DbSet<SocialNetProfile> SocialNetProfiles { get; set; }
public DbSet<SocialReportLinkedIn> SocialReportsLinkedIn { get; set; }
public DbSet<Tag> Tags { get; set; }
public DbSet<TagFan> TagFans { get; set; }
public DbSet<TagLinkedInProfile> TagLinkedInProfile { get; set; }
public DbSet<AuditLog> AuditLog { get; set; }
#endregion Entities
}
}
Проблема возникает только тогда, когда я изменяю значение в форме или в форме данных
Выделена обновленная ревиз.Все ниже добавлено, и кажется, что это входит в какую-то рекурсию, так как первая запись Json после Rec Rec Update имеет 1281 символов, второй 1146, третий 1763, 4-й 2773 и так далее, пока я не остановлю проект.
при entity.AuditData = entry.ToJson();
получении этого
System.OutOfMemoryException: 'Exception of type 'System.OutOfMemoryException' was thrown.'
В чем может быть проблема?