Я просто пытаюсь работать как простой союз на 2 Linq запросов, как показано ниже:LINQ Union Error - тип не может быть выведен
var results1 = from a in dt.AsEnumerable()
where array1.Contains([COL_1])
select new
{
a = a.Key
};
var results2 = from b in dt.AsEnumerable()
where array2.Contains([COL_2])
select new
{
b = b.Key
};
var concatResults = results1.Union(results2);
Но я получаю следующее сообщение об ошибке:
The type arguments for method 'System.Linq.Enumerable.Union(System.Collections.Generic.IEnumerable, System.Collections.Generic.IEnumerable)' cannot be inferred from the usage. Try specifying the type arguments explicitly.
Может ли кто-нибудь дать мне понять, как решить эту проблему?
Заранее спасибо
CM
Хорошо, спасибо за ваш ответ. Почему они разных типов? Запрос из той же таблицы ... Извините, что спросила, им действительно пытаются преодолеть препятствие невежества здесь! – CatchingMonkey
Типы создаются компилятором, и их типы свойств выводятся из назначений и их имен из имен. В вашем случае у вас есть один анонимный тип с свойством и один с свойством b. Вы можете либо быть явным с вашим собственным типом, либо сделать оба анонимных типа использовать одни и те же имена и типы свойств. – devdigital