我已经覆盖了 DBContext 中的 SaveChanges 方法,以便检测具有 Created/Update 信息的表并自动处理更新,如下所示:
public partial class MyContext
{
private readonly ITokenService _tokenService;
public MyContext(ITokenService tokenService, DbContextOptions options) : base(options)
{
_tokenService = tokenService;
}
public override int SaveChanges()
{
var entities = ChangeTracker.Entries().Where(entry => entry.Entity is ITrackingEntities);
foreach (var entityEntry in entities)
{
if (entityEntry.State == EntityState.Added)
{
((ITrackingEntities) entityEntry.Entity).CreatedBy = _tokenService.LoginUserId;
((ITrackingEntities) entityEntry.Entity).CreatedDateUtc = DateTime.UtcNow;
}
((ITrackingEntities) entityEntry.Entity).UpdatedBy = _tokenService.LoginUserId;
((ITrackingEntities) entityEntry.Entity).UpdatedDateUtc = DateTime.UtcNow;
}
return base.SaveChanges();
}
}
但是,每当我编写一些在存储库层中引发异常的 EF 代码时,异常换行符会发生在我的重写方法SaveChanges()中,而不是来自调用存储库方法,当我SaveChanges()在一个方法中多次调用时,这会使调试变得很痛苦。
有什么方法可以指示调试器不要在我的重写SaveChanges()方法中换行,而不是从该方法的调用者那里换行?
慕的地6264312
慕尼黑的夜晚无繁华
随时随地看视频慕课网APP
相关分类