【问题标题】:Audit log in asp.net core and dapperasp.net core 和 dapper 中的审计日志
【发布时间】:2017-01-06 22:41:24
【问题描述】:

我需要使用 asp.net core 和 dapper.net 来实现审计日志。我在Entity Framework 7 audit log找到了解决方案

此处提供的解决方案位于 EF Core(影子属性)中,但我想使用 dapper.net 实现相同的解决方案。我的界面看起来像在 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();
}

请任何人帮助我在 dapper.net 中获得解决方案

【问题讨论】:

    标签: c# sql-server asp.net-core dapper


    【解决方案1】:

    不,dapper 不支持这种情况。也就是说,你当然可以对传入 dapper 的对象做任何你喜欢的事情。

    【讨论】:

      猜你喜欢
      • 2020-05-04
      • 2016-09-15
      • 2017-04-06
      • 2018-04-26
      • 2018-01-25
      • 2022-01-12
      • 2011-01-30
      • 2012-08-31
      • 2011-10-24
      相关资源
      最近更新 更多