саморегулирование с помощью Entity Framework

Код представляет собой небольшой масштаб моей проблемы:

public class Category
{
    public Guid CategoryID { get; set; }
    public string Name { get; set; }
    public Guid? ParentID { get; set; }
    public bool IsTop { get; set; }
    public string Description { get; set; }

    public virtual Category parentCategory { get; set; }
}

Когда я использую этот класс в Entity Framework, он генерирует только одно отношение родительской и дочерней категорий.

Как я могу указать семантически разделить свойства и сгенерировать два разных отношения в SQL Server: одно для получения всех дочерних категорий с (дочернее отношение дочерних элементов (рекурсивно сверху вниз)), а другое - для получения всех родительских категорий ( родительский элемент родительского (рекурсивный снизу вверх))? Примерно так:

public virtual ICollection<Category> childCategories { get; set;} 
public virtual ICollection<Category> parentCategories { get; set;}

Я пробовал это с modelBuilder, но оттуда я могу получить только один уровень детализации.

7
задан ataravati 1 April 2014 в 17:35
поделиться