实体框架具有相同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();
}
答案 0 :(得分:5)
你不能 - 至少,不明智。同步和异步实现根本不同。你可以通过“同步异步”和“同步异步”来伪装,但这两种都是反模式,应该避免使用。