嗨,我一直在四处搜寻,现在试图找出如何做到这一点,我没有任何运气。我正在用ASP.NET创建一个论坛应用程序。 MVC5和EF6。我的应用包含评论模型;这是我开始遇到问题的地方。我希望线程能够有评论(这很容易),我也想评论有评论(这是我的问题)。具有相同实体类型的外键的表格
这里是我的模型是如何定义的:
namespace Forum.Models
{
public class Comment
{
[Key]
public int Id {get; set;}
[DisplayFormat(DataFormatString = "{0:d/M/yyyy HH:mm:ss}",
ApplyFormatInEditMode = true)]
public DateTime TimeStamp { get; set; }
public string Content { get; set; }
public String UserId { get; set; }
public virtual ICollection<Comment> Comments { get; set; }
[ForeignKey("ParentComment")]
public int ParentCommentId { get; set; }
public virtual Comment ParentComment { get; set; }
public int ThreadId { get; set; }
public virtual Thread Thread {get; set;}
}
}
这是我的错误,当我尝试更新此表:
不能插入表格“评论为标识列显式值'当IDENTITY_INSERT设置为OFF时。
任何帮助将不胜感激。
你是什么意思与 “*当我尝试更新此表*”? “更新”=更新此表中的记录(或甚至插入记录)?或者更新表模式(迁移?)?作为一个方面说明:我认为'ParentCommentId'应该可以为空('int?'),因为你肯定会有没有父母的评论,就像对线程的第一个评论。 – Slauma
@Slauma对不起。具体而言,我正在讨论创建新评论并将其添加到数据库中。所以,插入一个新的行。是的,我同意你关于int ?. – rocktheartsm4l