从实体框架4升级到5导致错误

时间:2012-09-09 19:09:22

标签: entity-framework entity-framework-4 asp.net-mvc-4 entity-framework-5

升级到EF 5后,我不断在我的代码的特定实例中获得Validation failed for one or more entities. See 'EntityValidationErrors' property for more details'

事实证明我在数据库中有一个NVARCHAR可空的字段,并且在部分类中标记了[Required]和Data annotation。有问题的字段以编程方式设置为null。这在EF4中运行良好,因为它是根据数据库模型(NVARCHAR可以为空)验证的。

我需要将该字段标记为[Required],因为它还会在其他实例中接受用户输入。

我有什么选择?我可以在SaveChanges()之前忽略该属性/验证错误吗?

1 个答案:

答案 0 :(得分:4)

这就是强烈建议您使用View模型而不是直接将实体传递给视图的原因。您的视图和数据模型有不同的要求,尝试使用相同的模型进行验证会导致问题。

相反,从数据模型中删除所需的属性并创建一个具有所需属性的View模型,然后使用AutoMapper之类的东西在它们之间进行映射。

相关问题