0

让我们假设我有 3 种类型的 Html 类,它们具有相同的原语/导航属性:

  1. 公共虚拟字符串 HtmlTagName {get; 放;}
  2. 公共虚拟ICollection<属性>属性{get; 放;}

    等等等等等等。

这 3 个类之间的唯一区别是:

  1. 一个 Html 类可以有一组 Html 类(父 Html 类)
  2. 一个类可以是一个 Html 类的子类(子 Html 类)
  3. 一个类是独立的,即。它既不是另一个 html 类(单 Html 类)的父 html 类也不是子 html 类

在我看来,有 3 类相同的属性,除了它是父母,孩子还是单身,因为没有(再次,因为很多属性是相同的)。

4

1 回答 1

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; }
    } 

}

于 2012-08-12T15:05:36.120 回答