Vâng, có.
Trước hết, không sử dụng FindAsync
, sử dụng Find
thay vì. Trên IFindFluent
kết quả sử dụng SingleAsync
phương thức mở rộng và chờ tác vụ được trả về bên trong một phương thức không đồng bộ:
async Task MainAsync()
{
IMongoCollection<ApplicationUser> userCollection = ...;
var applicationUser = await userCollection.Find(_ => _.Id == inputId).SingleAsync();
}
Trình điều khiển mới chỉ sử dụng async-await. Đừng chặn nó bằng cách sử dụng Task.Result
.