LINQ按连接表中的字段过滤

时间:2015-09-06 07:11:25

标签: linq linq-to-sql jointable

在我的所有表格中,我有一个IsDeleted字段,以便我可以打开和关闭记录。我试图弄清楚如何使用LinqToSql过滤掉连接表中已删除的记录,但我不知道如何在linq查询中识别该表。这是我的基本表定义:

    modelBuilder.Entity<MenuItemsEntity>().ToTable("MenuItems")
    .HasMany(m => m.UserGroups).WithMany(ur => ur.MenuItems)
    .Map(m =>
    {
        m.ToTable("MenuItems_UserGroups")
            .MapLeftKey("MenuItemId")
            .MapRightKey("UserGroupId");
    });

到目前为止,这是我的linq声明:

var menuItems = _ctx.MenuItems.Where(x => !x.IsDeleted && x.ParentId == parentId 
&& x.UserGroups.Any(r => !r.IsDeleted && r.Id == userGroupId));

这会为表MenuItems和UserGroups添加IsDeleted检查,但不会为MenuItems_UserGroups添加。

有什么想法吗?

0 个答案:

没有答案