Вы не можете вернуть анонимный тип из функции, это строго «встроенные» классы.Когда вы его возвращаете, цикл foreach сможет только интерпретировать результат как простой объект.Я думаю, вы могли бы использовать отражение для запроса имен и значений свойств, однако гораздо проще определить тип передачи данных для хранения результатов.
См. Этот вопрос , и это сообщение в блоге .
Чтобы вы могли создать простую структуру или класс:
public class MyDataResult
{
public object Column1 { get; set; }
public object Column2 { get; set; }
}
Затем измените свой запрос в функции:
public static IQueryable<MyDataResult> GetInfo(MyEntityModel oEntityModel)
{
var query =
(from t in oEntityModel.Table1
from u in t.Table2
where t.Status == true &&
u.Status == true
select new MyDataResult
{
Column1 = t.Column1,
Column2 = u.Column2
})
return query;
}
Нечто подобное должно работать.Обратите внимание, что я использовал «объект» для свойств в MyDataResult.Я не знаю типы столбцов, которые вы возвращаете, вы должны использовать фактические типы, чтобы получить полную интеллигенцию.