0

私はEmployeesGroups、およびを持っていEmployeeGroupFiltersます。

AnEmployeeには、GroupID外部キーとの関係があります。

AnEmployeeGroupFilterには、従業員 ID とグループ 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;
}
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 に答える