Отредактировано до последней проблемы / проблемы
Я использую EF1 и пытаюсь сделать следующее, но у меня проблемы с отношениями многие ко многим. У меня есть метод расширения BuildExpression, работающий, чтобы обойти .Contains () недоступен в EF1.
PagingUsers & Groups имеют отношение «многие ко многим».
Вот то, что у меня пока работает.
// Find many groups
public IQueryable<Group> FindGroupsByGroupIDs(List<int> group_ids)
{
return db.Groups.Where(LINQHelpers.BuildContainsExpression<Group, int>(g => g.Group_ID, group_ids));
}
// Find users in a group
public IQueryable<PagingUser> FindPagingUsersByGroupID(int group_id)
{
return db.PagingUsers.Include("Groups").Where(u => u.Groups.Any(g => g.Group_ID == group_id));
}
Теперь я хотел бы объединить их и найти пользователей, которые находятся в списке групп.
public IQueryable<PagingUser> FindPagingUsersByGroupIDs(List<int> group_ids)
{
return from g in db.Groups.Where(LINQHelpers.BuildContainsExpression<Group,int>(g => g.Group_ID, group_ids))
join p in db.PagingUsers on ???
select p;
}