在包管理器中播种数据时遇到问题 .
获取错误:一个或多个实体的验证失败 . 有关详细信息,请参阅“EntityValidationErrors”属性 .
题:
1)为什么它会在Fresh新数据库上进行(我将此解决方案连接到较旧的数据库,但我遇到了完全相同的问题,因此尝试从头开始创建数据库,并再次遇到相同的问题) .
2)据我所知,EntityValidationErrors是一个变种 . 但我正在运行PM> Database-Update -verbose方法,它不使用任何运行时?
我的意思是我很乐意看到它/调试它/但在哪里,怎么样,我能看到它吗?如果没有涉及运行时,你怎么看这个变量?我在包管理器中遇到错误 .
1 回答
显然很好
1)我的模型类的Id属性是String(accidentaly) .
2)这阻止了在该列上设置“Auto_increment” .
3)因为在Seed()方法中,我依赖于自动增量 - 这就是它抛出验证错误的原因 .
解决方案是添加
然后从Migrations文件夹中删除旧的迁移文件([Something] Migration.cs) .
然后删除表/重新创建表,或者如果需要删除/重新创建数据库 .
完成所有操作后,请务必再次启用迁移,并添加新迁移 .
之后,再次运行种子方法 . 这工作得很好 .