2016-08-08 55 views
0

我想实现相关页面结构,即一个页面有与其相关的其他页面的列表。但我不知道是否有可能。现在,我有这样的结构:使用SQLite的实体框架核心中的外键列表

public class Page 
{ 
    public int ID { get; set; } 
    public string UrlName { get; set; } 
    public List<RelatedPages> RelPages1 { get; set; } 
} 
public class RelatedPages 
{ 
    public int ID { get; set; } 
    public int PageID { get; set; } 
    public Page Page { get; set; } 
    // I would like this to be the list of related page IDs 
    public List<int> RelPagesID { get; set; } 
    public List<Page> RelPages { get; set; } 
} 

,这里是OnModelCreating在我的DbContext方法:

回答

0

如果你试图做一个递归选择,使得EF将加载的所有记录又将为同样的桌子,我不认为这是可能的。否则你的结构应该工作正常。

+0

我想在相关页面中的'RelPagesID'中添加多个ID,比如1,3,5,并在列表'RelPages'中让这些ID具有这些ID。可能吗? –

+0

我不认为RelPagesID可以像这样通过实体框架填充,将填充列表然而, 你可以只投射这样 Pages.Where(P => p.Page.Id == 3433) 这会给你一个相关页面ID列表。 – Anubis