У меня есть модель, которая выглядит так:
public class Category
{
public string Id { get; set; }
public string Description { get; set; }
public Category Parent { get; set; }
public ICollection<Category> Children { get; set; }
public ICollection<Product> Products { get; set; }
}
С таблицей базы данных, которая выглядит как
Categories
Id (PK varchar(5))
Description (nvarchar(50))
ParentId (FK varchar(5))
Но я в тупике, когда дело доходит до настройки отображения
modelBuilder.Entity<Category>()
.HasMany(x => x.Children)
.WithMany(x => x.Children)
.Map(m =>
{
m.ToTable("Categories");
m.MapLeftKey(x => x.Id, "Id");
m.MapRightKey(x => x.Id, "ParentId");
});
Я понимаю, почему не удается сопоставить (StackOverflowException), но не уверен, как это исправить. Любая помощь будет с благодарностью.
Используется последняя версия EF (4.1?).
Спасибо!