【发布时间】: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