0

我有表如

Items_Authors        Pages -> Pages_Chapters -> Pages_Item

    Items_Authors          Pages         Pages_Chapters   Pages_Item
    --------------         -----------   --------------   -------------
    id                     id            id               id
    pageid  [FK]           title         Pageid [FK]      chapterid [FK]
    userid  [FK]                         title            description

每个 Page_ 表在其前面Foreign key的表中都有一个。如果它在 3 张桌子之外,我怎么能知道它是否Pages_Item属于某个用户?我是否必须找到Pages_Item,然后找到它的章节,然后找到它的页面,然后从页面中找到作者,因为其中Items_Authors有页面 ID?

4

1 回答 1

1

如果您使用的是实体框架,请从页面项目向上工作

bool hasUser = pageItem.PageChapter.Page.PageItemAuthors.Any(a => a.userId == userId);

如果您想要作者是某个用户的所有页面项目,那么:

var pageItems = context.PageItems.Where(pi => pi.PageChapter.Page.PageItemAuthors.Any(a => a.userId == userId));
于 2013-08-15T08:50:04.843 回答