Dan*_*nyT 7 c# asp.net entity-framework
有谁知道如何覆盖SaveChangesAsync?我知道张贴了类似的问题,但没有答案。我下面有以下代码:
public override async Task<int> SaveChangesAsync()
{
PerformFurtherValidations();
return await base.SaveChangesAsync();
}
Run Code Online (Sandbox Code Playgroud)
在生成过程中,我收到以下错误消息:
错误SaveChangesAsync():返回类型必须
System.Threading.Tasks.Task<int>与覆盖的成员匹配System.Data.Entity.DbContext.SaveChangesAsync()
小智 7
public override async Task<int> SaveChangesAsync(CancellationToken cancellationToken = default(CancellationToken))
{
return (await base.SaveChangesAsync(true, cancellationToken));
}
Run Code Online (Sandbox Code Playgroud)
老问题,但我遇到了类似的问题并使用以下代码解决了它:
public override async Task<int> SaveChangesAsync()
{
foreach (var history in this.ChangeTracker.Entries()
.Where(e => e.Entity is IModificationHistory && (e.State == EntityState.Added ||
e.State == EntityState.Modified))
.Select(e => e.Entity as IModificationHistory)
)
{
history.DateModified = DateTime.Now;
if (history.DateCreated <= DateTime.MinValue)
{
history.DateCreated = DateTime.Now;
}
}
int result = await base.SaveChangesAsync();
foreach (var history in this.ChangeTracker.Entries()
.Where(e => e.Entity is IModificationHistory)
.Select(e => e.Entity as IModificationHistory))
{
history.IsDirty = false;
}
return result;
}
Run Code Online (Sandbox Code Playgroud)
自定义 SaveChangesAsync() 允许我调整脏标志、创建日期和修改日期。
| 归档时间: |
|
| 查看次数: |
5501 次 |
| 最近记录: |