У меня проблема с моим запросом. У меня есть два простых класса. Скажем,Использование метода Contains внутри linq's where.
public class A{
public List<B> MyCollection{get; set;}
}
public class B{
public string Id;
}
//I want to do something like that
var myB = new B{Id="1"};
context.A.Where(x=> x.MyCollection.Contains(myB)).ToList();
Как это решить? Я знаю, что я мог бы сделать что-то вроде
context.A.ToList().Where...
, но это не хорошая идея, особенно, что у меня есть несколько тысяч записей.
ОБНОВЛЕНИЕ! контекст является контекстом EntityFramework и context.A представляет DbSet Я все еще получаю ошибку «LINQ к Entities не распознает метод«Boolean Содержит» также я не могу использовать
context.A.ToList().Where(....
, потому что у меня есть тысячи записей, и это будет неэффективной
'context.A.Where (х => x.MyCollection.Contains (myB)) ', если я не понимаю проблему? – Matthew
В чем вопрос? – Bobson
Ну, проблема в том, что я не мог попасть в этот список, поскольку «LINQ to Entities не распознает метод Boolean Contains ...». – 7h4ro3