如何验证使用 Entity Framework Fluent API 创建的模型?

And*_*ndy 5 c# entity-framework-core asp.net-core

我有一个用户模型:

public class User
{
    public int Id { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public string Email { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

它通过 Fluent API 添加到我的数据上下文中:

public class UserMapping : IEntityTypeConfiguration<User>
{
    public void Configure(EntityTypeBuilder<User> builder)
    {
        builder.HasKey(u => u.Id);
        builder.Property(u => u.FirstName).HasMaxLength(25).IsRequired();
        builder.Property(u => u.LastName).HasMaxLength(25).IsRequired();
        builder.Property(u => u.Email).HasMaxLength(50).IsRequired();
    }
}
Run Code Online (Sandbox Code Playgroud)

我希望能够在一个操作的上下文之外验证它,我可以简单地检查ModelState.IsValid,如下所示:

var results = new List<ValidationResult>();
Validator.TryValidateObject(user, new ValidationContext(user), results, true);
Run Code Online (Sandbox Code Playgroud)

验证器有没有办法使用 中的规则IEntityTypeConfiguration?谢谢。