0

我想对数据库中的样板默认表应用查询。但是样板文件使用异步方法。如何通过 Boilerplate 框架在数据库中搜索。

4

2 回答 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 回答