Как получить ObjectResult из Entity Framework, используя список идентификаторов

c# entity-framework

Вопрос

У меня есть значения HashSet of Identity, которые мне нужно использовать в качестве значений запроса для возврата ObjectResult из Entity Framework

Вот хэш-набор:

HashSet<int> officeIds = new HashSet<int>();

Вот запрос, который я пытаюсь выполнить более или менее:

ObjectResult<FilingOffice> offices = ctx.FilingOffice.Where(office => office IN officeIds.ToList());

Часть "office => office IN officeIds.ToList ()", описанная выше, - это то, что я не могу заставить работать, и я не нашел в Интернете ни одного примера для получения объектов с учетом списка первичных ключей.

ctx - это System.Data.Objects.ObjectContext

Принятый ответ

Примеры, которые привели другие, сегодня не будут работать в Entity Framework, потому что вы не можете смешивать перечисления клиентов и серверов в сущностях LINQ 2.

Вместо этого вам нужно создать выражение OR вручную.

Я запускаю серию EF Tips, и этот совет показывает, как создать выражение OR.

Надеюсь это поможет

Alex


Популярные ответы

У меня были подобные проблемы много раз, еще один вопрос переполнения стека с хорошей информацией: самый эффективный способ получить несколько объектов по первичному ключу?

Я предпочитаю использовать:

var entities = db.Entities.WhereIn(x => x.Id, ids);


Related

Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему
Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему