我想对数据库中的样板默认表应用查询。但是样板文件使用异步方法。如何通过 Boilerplate 框架在数据库中搜索。
问问题
733 次
2 回答
2
你能详细说明你的问题吗?我不确定你想要达到什么目标。
如果您使用 IRepository,则默认情况下可以同时使用同步和异步方法。如果您正在使用异步查询并期望立即得到结果,您可以使用如果您必须等待查询结果,您可以使用 Task 的 Result 属性。例如
var valueImWaitingFor = _repository.GetAllListAsync().Result;
编辑:假设您想在登录下更新用户,您可以使用提供的 UserManager 类。
var user = loginResult.User; // get your user object
user.Name = "New name"; // edit property
// use one of 3 proposed solutions.
var updatedUser = _userManager.Update(user);
var updatedUser1 = _userManager.UpdateAsync(user).ConfigureAwait(false);
var updatedUser2 = AsyncHelper.RunSync(()=>_userManager.UpdateAsync(user));
即使您不使用 UserManager,您也可以使用第二个和第三个选项以类似的方式运行异步调用。
于 2017-08-27T18:30:16.860 回答
0
如果你想使用异步方法作为同步方法,那么 ABP 中有一个辅助类。
var records = AsyncHelper.RunSync(() => _repository.GetAllListAsync());
于 2017-08-28T08:17:25.450 回答