带有继承的ASPNET Core 3.0模型验证错误

Gui*_*isp 6 asp.net-core asp.net-core-3.0

我刚移到aspnetcore 3.0,似乎带有继承的模型验证已损坏或我错过了一些东西。当我发布带有IlVal00 = null的以下模型时,它说:title =发生一个或多个验证错误。status = 400,必须输入IlVal00字段。

public class Stock : BaseClass
{
        [Required]
        public string Ref { get; set; } = default!;
}

public class BaseClass
{
        public string? IlVal00 { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

但是,如果我将模型更改为:

public class Stock : BaseClass
{
        [Required]
        public string Ref { get; set; } = default!;

        public new string? IlVal00 { get; set; }
}

public class BaseClass
{
        public string? IlVal00 { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

有用。

但是我需要这种继承...

那么,如果有人对如何使其起作用有想法?

谢谢

小智 0

尝试像这样使用虚拟:

public virtual string? IlVal00 { get; set; }
Run Code Online (Sandbox Code Playgroud)