Да, у меня по другому написано, зачем делать свойства виртуальными? и в той и другой сущности?
Также, не добавил атрибут [ForeignKey("ArtId")] так как мне казалось что фреймворк сам разберётся какой ключ делать внешним
Вот мой вариант
public class Article
{
...
public List<Comment> CommentList { get; set; }
public Article()
{
CommentList = new List<Comment>();
}
...
}
public class Comment
{
public int ID { get; set; }
public int ParentID { get; set; }
public string FullText { get; set; }
public string Author { get; set; }
public string Email { get; set; }
public DateTime DatePublication { get; set; }
public Article Article { get; set; }
...