我有Employees
,Groups
和EmployeeGroupFilters
。
Employee
有GroupID
外键关系。
EmployeeGroupFilter
有一个员工和组ID。每位员工都可以过滤他们不希望在日历中看到的组。
因此,如果存在EmployeeGroupFilter
,该员工将不会看到该组。
我需要一个返回IEnumerable
组的查询,该组将是对员工可见的组。
例如:从不在currentEmployee的组过滤器中的组中选择所有组。
现在我可以得到所有员工过滤器:
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;
}
答案 0 :(得分:3)
return from p in db.Groups
where !p.EmployeGroupFilters.Any(fil=>fil.EmployeeId == employeeID)
select p;