Ну, сообщение об ошибке говорит само за себя.
В Linq To Entities допускаются только конструкторы и инициализаторы без параметров.
LINQ to Entities может быть трудным, пожалуйста, как вы думаете?
Позвоните ToArray
сразу после получения сущностей, чтобы иметь дело только с LINQ to Objects:
var foos = (from x in FooEntities.Foos
select x).ToArray();
XElement[] elements = (
from x in foos
select new XElement("tr",
new XElement("td", HttpUtility.HtmlEncode(x.Bar1)),
new XElement("td", HttpUtility.HtmlEncode(x.Bar2)),
new XElement("td", HttpUtility.HtmlEncode(x.Bar3)))
)
.ToArray();
XElement html = new XElement("table", headerXElement, elements);
Рекомендуется также разделять вызов базы данных (первый запрос) и генерацию бизнес-объекта / XML (второй запрос), потому что вы сразу видите , что выполняется с базой данных и что идет в памяти .