如何在Net Core中重写SaveChangesAsync?

问题描述 投票:0回答:1

如何在Net Core Entity Framework中覆盖SaveChangesAsync?收到以下错误。

public override async Task<int> SaveChangesAsync()
{
    ApplyAuditInformation();
    return await base.SaveChangesAsync();
}

错误:'TestDBContext.SaveChangesAsync()':没有找到合适的方法来覆盖。

c# .net entity-framework .net-core
1个回答
0
投票

的签名。SaveChangesAsync 需要 CancellationToken.

public override Task<int> SaveChangesAsync(CancellationToken cancellationToken = new CancellationToken())
{
    ApplyAuditInformation();
    return base.SaveChangesAsync(cancellationToken);
}

你只需要将该方法声明为 async 如果你需要 await 的东西。

例如,如果你的 ApplyAuditInformation 需要"awaited"。

public async override Task<int> SaveChangesAsync(CancellationToken cancellationToken = new CancellationToken())
{
    await ApplyAuditInformationAsync();
    return base.SaveChangesAsync(cancellationToken);
}
© www.soinside.com 2019 - 2024. All rights reserved.