2012-04-08 5 views
1
public static IQueryable<Institution> WithFunds(this IQueryable<Institution> query, IEnumerable<Fund> allowedFunds) 
    { 
     return query. 
    } 

Я хочу получить запрос, чтобы вернуть все Учреждения, имеющие какой-либо из Фонда, указанный в списке «allowedFunds» в Institution.Funds. Пожалуйста помоги.Поиск списка внутри другого с помощью IQueryable

Моя иерархия классов выглядит следующим образом.

public partial class Institution 
    { 
    public int Id { get; set; } 
    public virtual ICollection<Fund> Funds { get; set; } 
    } 

    public partial class Fund 
    { 
    public int Id { get; set; } 
    public virtual Institution Institution { get; set; } 
    } 

ответ

1

Вы можете использовать Contains запрос:

Fund[] funds = allowedFunds.ToArray(); 
return query.Where(x => x.Funds.Any(f => funds.Contains(f))); 
Смежные вопросы