MVC中模型类对象的比较属性问题

时间:2018-12-04 14:33:00

标签: asp.net-mvc entity-framework

我正在将compare属性用于模型类中的比较字段,如下面的代码

    public string FruitName { get; set; }
    [CompareAttribute("FruitName")]
    public string FruitNameCompare { get; set; }

但是当我通过db.savechanges()将对象保存到数据库时会导致错误 我认为这是因为对象包含具有null值的compare属性,而数据库表不包含

错误:     一个或多个实体的验证失败。有关更多详细信息,请参见“ EntityValidationErrors”属性。

但是当我删除比较属性时,效果很好

1 个答案:

答案 0 :(得分:0)

您的FruitNameFruitNameCompare属性必须相同,因为您在[CompareAttribute("FruitName")]上包含了FruitNameCompare注释。这将强制FruitNameFruitNameCompare的值必须相同。

尚未发布前端代码,但是我怀疑这是FruitNameCompare不在客户端到服务器端发送的数据中的问题。如果还包括此属性,则一切应该开始为您工作。如果已经包含它,则设置一个断点并确保两个属性的值匹配。

将来,如果您查看EntityValidationErrors,则会获得有关失败原因的详细信息,并且应该对从何处去有一个很好的了解。