Я хотел бы помочь реализовать самостоятельные отношения в Code First - PullRequest
0 голосов
/ 22 марта 2012

Я хотел бы помочь реализовать самоотношения, как показано ниже:

enter image description here

У меня есть категория класса, в которой есть список подкатегорий. Как бы класс и его отображение использовали CODE FIRST?

Ответы [ 2 ]

1 голос
/ 22 марта 2012

Сущность

public class Category : Entity
{
    public int Id { get; set; }

    public string Name { get; set; }

    public int? ParentId { get; set; }

    public virtual Category ParentCategory { get; set; }

    public virtual ICollection<Category> SubCategories { get; set; }
}

И отображение

public class CategoryMap : EntityTypeConfiguration<Category>
{
    public CategoryMap()
    {
        HasKey(category => category.Id);

        Property(category => category.Id).HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity);

        HasOptional(category => category.ParentCategory)
            .WithMany(category => category.SubCategories)
            .HasForeignKey(category => category.ParentId);
    }
}
1 голос
/ 22 марта 2012

Полагаю, вы можете просто создать свойство в своем классе Category.

public virtual IEnumerable<Category> Categories {get;set;}
...