У меня есть сущность, чья ссылка представляет собой совокупность идентификатора и среды. Я хочу реализовать функцию, позволяющую пользователю передавать список кортежей (ID, Environment) и возвращать требуемые объекты. Можно ли использовать Contains() в таких сценариях? Как? С простой ссылкой, это так просто, какИспользование кортежей с Entity Framework Содержит оператор
model.MyEntities.Where(e => myIds.Contains(e.Id))
EDIT: Для того, чтобы уточнить, я не ищу, как использовать Содержит() метод, чтобы получить список идентификаторов; строка, которую я написал выше, делает это. Я ищу, чтобы иметь возможность получить список сущностей, соответствующих кортежам (ID, среда), а не только ID.
http://stackoverflow.com/questions/6912733/linq-to-entities-where-in-clause -with-multiple-columns - я бы сказал, что ваш лучший выбор - это 'Union()' запросы для идентификаторы вместе и надеюсь, что оптимизатор SQL может это понять. – millimoose
Другим вариантом будет использование LinqKit для динамической сборки цепочки 'OR'. – millimoose