为多个外部表构建Linq查询

时间:2013-08-15 00:16:17

标签: asp.net-mvc linq

我有

等表格
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?

1 个答案:

答案 0 :(得分: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));