Я пытаюсь запросить данные формы с помощью LINQ-to-EF:
class Location {
string Country;
string City;
string Address;
…
}
путем поиска местоположения по кортеж (Страна, Город, Адрес). Я пробовал
var keys = new[] {
new {Country=…, City=…, Address=…},
…
}
var result = from loc in Location
where keys.Contains(new {
Country=loc.Country,
City=loc.City,
Address=loc.Address
}
, но LINQ не хочет принимать анонимный тип (который, как я понимаю, является способом выражения кортежей в LINQ) в качестве параметра для Contains ().
Есть ли «хороший» способ выразить это в LINQ, имея возможность выполнить запрос в базе данных? В качестве альтернативы, если бы я просто перебирал ключи и объединял запросы с помощью Union (), это было бы плохо для производительности?