gpt4 book ai didi

c# - 使用 Entity Framework Code First 映射同一类的子项

转载 作者:太空狗 更新时间:2023-10-29 23:34:13 24 4
gpt4 key购买 nike

我正在尝试使用 EF Code First 映射一个相当“标准”的类别模型

public class Category
{
public int ID { get; set; }
public int ParentID { get; set; }

public string Name { get; set; }

public Category ParentCategory { get; set; }
public List<Category> ChildCategories { get; set; }
}

我有一些类似的东西:

modelBuilder.Entity<Category>()
.HasOptional(t => t.ParentCategory)
.WithMany()
.HasForeignKey(t => t.ParentCategoryID)
.WillCascadeOnDelete();

但这似乎并没有照顾到 ChildCategories??

我错过了什么吗?

为了避免重复的问题参数,我遵循了以下内容,但没有完全回答我的具体查询:

Code First Mapping for Entity Framework Hierarchy

Entity Framework CTP5 Code-First Mapping - Foreign Key in same table

最佳答案

将您的实体更改为

public class Category
{
public int ID { get; set; }
public int? ParentID { get; set; }

public string Name { get; set; }

public virtual Category ParentCategory { get; set; }
public virtual IList<Category> ChildCategories { get; set; }
}

使 ParentID 可以为空并允许 ChildCategories 延迟加载,将其设为虚拟。

关于c# - 使用 Entity Framework Code First 映射同一类的子项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6351381/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com