先上模型

Comment

public class Comment
{
[Key]
public int CommentId { get; set; }
[Required]
public int Star { get; set; }
[Required]
public string Content { get; set; }
[Required]
[MaxLength()]
public string ProductName { get; set; } [Required]
[ForeignKey("User")]
public int UserId { get; set; }//需要增加的外键
public virtual User User { get; set; } }

User

    public class User
{
[Key]
public int UserId { get; set; } [Required(ErrorMessage = "该项为必填项")]
[MaxLength(, ErrorMessage = "请输入少于30个字符")]
public string userName { get; set; } public virtual ICollection<Comment> Comment { get; set; }
}

在程序包控制管理台执行

Add-Migration InitDB -Force
Update-Database -Verbose

出现错误 ALTER TABLE 语句与  FOREIGN KEY 约束"FK_dbo.Comments_dbo.Users_UserId"冲突。该冲突发生于数据库"ProComment",表"dbo.Users", column 'UserId'。

搜索之,未果。根据搜索的线索不断排查

终于,在将Users 和 Comments两个表的数据都删除之后,然后再执行,成功。

解决code first Migration 增加外键时出现错误的问题-LMLPHP

使用code first 模式,在不熟悉注解的情况下,真的是每一步都是坑

填坑的过程很痛苦,但是填完之后就很舒服

05-11 22:34