3
다음 문제로 도와주세요. 내가EntityFramework 코드 첫 번째 및 원형 일대 다 참조
public class TopicItem
{
public TopicItem()
{
_children = new List<TopicItem>();
}
public int Id { get; set; }
public string Title { get; set; }
public int? ParentId { get; set; }
public TopicItem Parent { get; set; }
public List<TopicItem> Children { get; set; }
}
및
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<TopicItem>().HasKey(t => t.Id);
modelBuilder.Entity<TopicItem>().Property(t => t.Title).IsRequired();
modelBuilder.Entity<TopicItem>().Property(t => t.Alias);
modelBuilder.Entity<TopicItem>().HasOptional(t => t.Parent).WithMany(t => t.Children).HasForeignKey(t => t.ParentId);
//modelBuilder.Entity<TopicItem>().HasMany(t => t.Children).WithOptional(t => t.Parent).HasForeignKey(t => t.ParentId);
base.OnModelCreating(modelBuilder);
}
유창
처럼 클래스가 있지만 작동하지 않습니다. 다음과 같이 사용하려고합니다 :public void Recursion(List<TopicItem> items)
{
if (items != null)
{
foreach (var item in items)
{
Process(item);
}
Recursion(item.Children);
}
}
Recursion(MyContext.TopicItems.Where(t => t.Parent == null).ToList())
각 부모 엔티티에 대한 children 속성은 null입니다.
할 수 있습니까?