我有一个 POCO 类,它映射到这样定义的自联接表:
CREATE TABLE [dbo].[GalleryCategories](
[CategoryID] [int] IDENTITY(0,1) NOT NULL PRIMARY KEY CLUSTERED,
[Name] [nvarchar](256) NOT NULL,
[ParentID] [int] NULL REFERENCES [dbo].[GalleryCategories] ([CategoryID]) ON DELETE NO ACTION ON UPDATE NO ACTION,
)
我知道有一种方法可以使用模型构建器来定义关系,以从孩子中引用父母......(例如这样)
但是我试图映射的类看起来像这样......
public class GalleryCategory
{
[Key]
public int CategoryID { get; set; }
public string Name { get; set; }
public int? ParentID { get; set; }
public List<Category> Subcategories { get; set; }
}
换句话说,我试图让子类别填充所有的孩子 - 即遍历层次结构,而不是向上的层次结构。
有没有办法使用 EF 做到这一点?这一定是某个地方的常见问题解答,但在谷歌搜索一个小时后我找不到它:-)