我有一个 Person 类。一个人有名字和称呼。 Salutation是数据库中的另一个表(我继承了数据库)。
在 UI 中,我希望 Salutation 成为必填字段。这是我的模型的样子:
public partial class Person
{
public virtual string Id { get; set; }
public virtual Nullable<long> SalutationId { get; set; }
[Required]
public virtual Salutation Salutation { get; set; }
public virtual string FirstName { get; set; }
[DisplayName("Last Name")]
public virtual string LastName { get; set; }
}
public partial class Salutation
{
public virtual long Id { get; set; }
public virtual string SalutationName { get; set; }
public virtual string Status { get; set; }
public virtual ICollection<Person> People { get; set; }
}
这是正确的吗?即使我输入了称呼,我仍然收到“称呼是必填字段”的验证错误。
所有这一切都在一小时前开始,直到一切正常。
如果我有时间思考并且不追赶最后期限,我会自己解决这个问题。奇怪的是压力对你的大脑有什么影响。
最佳答案
简短回答:问题出在您为您的称呼放置所需验证的地方。
您的称呼验证属性应放在Salutation 模型
中。
编辑:除此之外,您的模型还在每个属性上使用 public virtual
访问修饰符。如果我的模型不需要,我会删除 virtual
。
关于c# - 在导航属性上定义数据注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13916903/