2017-01-06 6 views
1

Ich brauche Audit-Protokoll mit asp.net Kern und dapper.net zu implementieren .. fand ich Lösungen in Entity Framework 7 audit logAudit-Log in asp.net Kern und adrett

Die Lösung ist hier vorgesehen ist in den EF-Core (Schatten Eigenschaften) aber ich möchte das mit dapper.net implementieren. Meine Schnittstelle sieht aus wie in ASP.NET Core-

public interface IAuditableEntity 
{ 
    int? CreatedById { get; set; } 

    DateTime Created { get; set; } 

    int? ModifiedById { get; set; } 

    DateTime Modified { get; set; } 
} 

public override int SaveChanges() 
{ 
    int? userId = null; 
    if (System.Web.HttpContext.Current != null) 
     userId = (from user in Users.Where(u => u.UserName == System.Web.HttpContext.Current.User.Identity.Name) select user.Id).SingleOrDefault(); 

    var modifiedBidEntries = ChangeTracker.Entries<User>() 
     .Where(e => e.State == EntityState.Added || e.State == EntityState.Modified); 

    foreach (EntityEntry<User> entry in modifiedBidEntries) 
    { 
     entry.Property("Modified").CurrentValue = DateTime.UtcNow; 
     entry.Property("ModifiedById").CurrentValue = userId; 

     if (entry.State == EntityState.Added) 
     { 
      entry.Property("Created").CurrentValue = DateTime.UtcNow; 
      entry.Property("CreatedById").CurrentValue = userId; 
     } 
    } 

    return base.SaveChanges(); 
} 

Bitte jemand mir helfen, die Lösungen in dapper.net

Antwort

2

Nein zu bekommen, adrett hat keine Unterstützung für dieses Szenario. Das heißt, Sie können natürlich alles, was Sie möchten, zu den Objekten, die Sie in Dapper übergeben.