首页 文章

EntityValidationErrors属性???一个或多个实体的验证失败 . 有关详细信息,请参阅'EntityValidationErrors'属性

提问于
浏览
1

在包管理器中播种数据时遇到问题 .

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

题:

1)为什么它会在Fresh新数据库上进行(我将此解决方案连接到较旧的数据库,但我遇到了完全相同的问题,因此尝试从头开始创建数据库,并再次遇到相同的问题) .

2)据我所知,EntityValidationErrors是一个变种 . 但我正在运行PM> Database-Update -verbose方法,它不使用任何运行时?

我的意思是我很乐意看到它/调试它/但在哪里,怎么样,我能看到它吗?如果没有涉及运行时,你怎么看这个变量?我在包管理器中遇到错误 .

1 回答

  • 1

    显然很好

    1)我的模型类的Id属性是String(accidentaly) .

    2)这阻止了在该列上设置“Auto_increment” .

    3)因为在Seed()方法中,我依赖于自动增量 - 这就是它抛出验证错误的原因 .

    解决方案是添加

    [Key]
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public int ID { get; set; }
    

    然后从Migrations文件夹中删除旧的迁移文件([Something] Migration.cs) .

    然后删除表/重新创建表,或者如果需要删除/重新创建数据库 .

    完成所有操作后,请务必再次启用迁移,并添加新迁移 .

    之后,再次运行种子方法 . 这工作得很好 .

相关问题