2017-07-27 60 views
1

我在尝试用户可以评论出版物。我创建了表评论与EF核心。同一张表的外键

有意见多层次,我implmeneted方式如下:

出版物

- Id (primary key) 

评论

- PublicationId (foreing key to Publication) 
- Comment 
- ParentComment (foreign key to Comments, that is, the same table) 

的问题是一个错误警告我,我无法将同一张桌子上的前调钥匙弄碎。那么我怎样才能实现层次结构呢?

+1

你可以分享你的实体模型? – mersey

+0

你是先使用代码吗? –

回答

1

你的代码是假设这个样子

public int Id {get; set;} 
public virtual Publication Publication {get; set;} // If Publication is an object 
public virtual Comment Comment {get; set;} 
public virtual Comment ParentComment {get; set;} 
+0

我的一个意见是,如果您给该属性的名称与编译期间很可能遇到冲突的类型相同。 – Sal

+1

@保罗这是不正确的。属性名称可以使用与该类型相同的名称。它会很好地编译。 – Master

+0

我的不好,我的思想去了嵌套的课程。如果你有一个类中的属性是:**评论评论{get;设置;} **和Comment类是与属性相同的类中的嵌套类,那么你会得到这个问题。 – Sal