让我们假设我有3种类型的Html类具有相同的基元/导航属性:
公共虚拟ICollection<属性>属性{get; set;}
等,等等。
这三个类之间的唯一区别是:
在我看来,拥有3类相同的属性,除了它是父类,子类还是单一类之外,从此没有(再次,尽可能多的属性相同)。
答案 0 :(得分:0)
我想我找到了答案,如果我错了,有人会纠正我:
public class HtmlElement : DelEntity
{
// Primitives
public virtual string DisplayName { get; set; }
// Foreign Key
public virtual long? ParentElementId { get; set; } // If it is a child
//Navigation - Class
[ForeignKey("ParentElementId")]
public virtual HtmlElement ParentHtmlElement { get; set; }
//Navigation - Collections (if it is a parent)
private ICollection<HtmlElement> _childElements;
[InverseProperty("ParentHtmlElement")]
public virtual ICollection<HtmlElement> ChildElements
{
get { return _childElements ?? (_childElements = new HashSet<HtmlElement>()); }
set { _childElements = value; }
}
}