【发布时间】:2020-03-26 16:17:12
【问题描述】:
我正在尝试在 PropertyValidator 类中使用我的数据存储库。问题是存储库中的方法是异步的......我看不到IsValidAsync 可以覆盖。
using System.Collections.Generic;
using System.Threading.Tasks;
using FluentValidation.Validators;
using AccountApi.Domain.Repositories;
namespace AccountApi.Domain.Validators
{
public class UserInputValidator<TElement> : PropertyValidator
{
private IUserRepository _userRepository;
public UserInputValidator(IUserRepository userRepository)
: base("{Message}.")
{
_userRepository = userRepository;
}
protected override bool IsValid(PropertyValidatorContext context)
{
var id = (int)context.PropertyValue;
var user = await _userRepository.GetById(id); // <--- HERE is the problem
// .....
return true;
}
}
}
我试着改成这样:
protected override async Task<bool> IsValidAsync(PropertyValidatorContext context)
...但它也不起作用。没有要覆盖的 IsValidAsync。
是否可以在 PropertyValidator 中使用async 方法?
【问题讨论】:
标签: c# asp.net-core .net-core async-await fluentvalidation