Смешивая Linq-to-SQL и Linq-to-XML, я имел обыкновение делать что-то вроде этого:
XElement xml = new XElement("People");
xml.Add(from p in Context.People
select new XElement("Person",
new XElement("Id", p.Id),
new XElement("Name", p.Name)));
При преобразовании некоторых вещей в EF я теперь получаю следующее исключение: «В LINQ to Entities поддерживаются только конструкторы и инициализаторы без параметров».
Это наводит меня на мысль, что теперь мне нужно сделать что-то вроде этого:
XElement xml = new XElement("People");
var peopleResults = Context.People.Select(p => { p.Id, p.Name }).ToList();
xml.Add(from p in peopleResults
select new XElement("Person",
new XElement("Id", p.Id),
new XElement("Name", p.Name)));
Это моя единственная альтернатива сейчас, или есть другой способ выразить это в коде?