【发布时间】:2012-04-30 11:35:14
【问题描述】:
我对此感到茫然:
我已经为实体框架 (4.1.3) 代码优先方法定义了我的类。一切都很好(我正在创建表格等),直到我开始播种。
现在我做的时候
Add-Migration "remigrate" ; Update-Database;
我在包控制台上收到错误消息“一个或多个实体的验证失败。有关更多详细信息,请参阅 'EntityValidationErrors' 属性。”
我的 Seed() 方法中有一个断点,但是因为我在项目未运行时在控制台上运行它,所以我不知道如何获取详细信息(PS - 我已经看过线程Validation failed for one or more entities while saving changes to SQL Server Database using Entity Framework 显示了我如何查看该属性。)
我知道我的 Seed() 方法有问题,因为如果我在方法调用之后立即返回,错误就会消失。那么如何设置断点以便查看验证错误是什么?有点输了还是有其他方法可以在 nuget 控制台中跟踪它??
【问题讨论】:
-
快速更新:我通过系统地跟踪我的方法中的每个变量来解决我的问题,直到找到导致错误的原因。但是,我仍然想知道我的问题的答案,因为这样会更快!
-
我认为您可以以编程方式运行迁移,然后捕获异常并迭代错误。这并不理想,但可以为您提供所需的详细信息。
-
当错误答案出现在答案的顶部并获得所有功劳时,令人沮丧。 StackOverflow 明显不足的地方!
-
如果您使用 Entity Framework,您可以查看我在 Solution for “Validation failed for one or more entities. See 'EntityValidationErrors' property for more details 上的回答。希望这会有所帮助...
标签: asp.net-mvc-3 entity-framework entity-framework-4 nuget