Что это, черт возьми, это означает? Игнорировать возврат, а get, результаты будут сплющены и застряли в памяти приложения (так что это будет набор... возможно)
"Не удалось найти реализацию шаблона запроса для типа источника" System.Linq.IQueryable "." Join "не найден. Рассмотрим явно указание типа переменной диапазона" a ".
private CommonDataResponse toCommonData
{
get
{
CommonDataResponse toCommonData = this.gatewayReference.GetCommonData();
Array dCountries = toCommonData.PropertyCountries.ToArray(); //Webservice sends KeyValuePairOfString
Array dRegions = toCommonData.Regions; //Webservice sends Array
Array dAreas = toCommonData.Areas; //Webservice sends Array
var commonRAR = from a in dAreas
join r in dRegions
on a.RegionID equals r.Id
join c in dCountries
on r.CountryCode equals c.Key
select new {c.Value, r.Name, a.Name, a.Id };
return toCommonData;
}
}
dRegions/dAreas Оба массива, dCountries -.toArray()
Array
является очень свободным типом и не реализует IEnumerable<T>
и т.д. Вы можете попробовать просто переключить строки Array
на var
(пусть компилятор выбирает тип). Если он все еще использует Array
, то, возможно, используйте .Cast<T>()
для указания типа (или Array.ConvertAll
и т.д.).
Из Array
(без дополнительной информации) все, что он знает, object
.
В принципе, Join
определяется (как метод расширения) на IEnumerable<T>
и IQueryable<T>
- not IEnumerable
(без <T>
).