0

我有Employees,GroupsEmployeeGroupFilters.

AnEmployee具有GroupID与外键的关系。

AnEmployeeGroupFilter有一个 Employee 和 Group ID。每个员工都可以过滤他们不想在日历中看到的组。

因此,如果EmployeeGroupFilter存在,则该员工将看不到该组。

我需要一个查询,它将返回一个IEnumerableGroup,这将是对员工可见的组。

例如:从当前员工的组过滤器中没有组的组中选择所有组。

现在我可以像这样获得所有员工过滤器:

public static IEnumerable<EmployeGroupFilter> GetAllByEmployee(
int employeeID)
{
    KezberPMDBDataContext db = new KezberPMDBDataContext();

    return from p in db.EmployeGroupFilters
           where p.EmployeID == employeeID
           select p;
}

我需要类似的东西:

public static IEnumerable<Group> GetAllVisibleEmployeeGroups(
int employeeID)
{
    KezberPMDBDataContext db = new KezberPMDBDataContext();

    return from p in db.Groups
           .......
           select p;
}
4

1 回答 1

3
return from p in db.Groups
where !p.EmployeGroupFilters.Any(fil=>fil.EmployeeId == employeeID)
           select p;
于 2013-01-29T16:49:20.267 回答