如何轻松支持重复的异步/同步方法
本文关键字:异步 同步方法 何轻松 支持 | 更新日期: 2023-09-27 18:24:00
Entity框架具有相同IO绑定方法(如SaveChanges
和SaveChangesAsync
)的同步和异步版本。如何在不"复制"代码的情况下创建最低限度地完成相同任务的新方法?
public bool SaveChanges()
{
//Common code calling synchronous methods
context.Find(...);
//Synchronous Save
return context.SaveChanges();
}
public async Task<bool> SaveChangesAsync()
{
//Common code asynchronous methods
await context.FindAsync(...);
//Asynchronous Save
return await context.SaveChangesAsync();
}
你不能——至少,不是明智的。同步和异步实现有着根本的不同。您可以通过"syncoverasync"answers"asyncoversync"来伪造,但这两种都是反模式的,应该避免。