Como você converter um IEnumerable <t> ou IQueryable <t> para um EntitySet <t>?
Nessa situação, estou tentando executar uma importação de dados de um arquivo XML para um banco de dados usando LINQ para XML e LINQ para SQL.
Aqui está o meu modelo de dados LINQ:
<code>public struct Page { public string Name; public char Status; public EntitySet<PageContent> PageContents; } public struct PageContent { public string Content; public string Username; public DateTime DateTime; } </code>
Basicamente, o que estou tentando fazer é escrever uma consulta que me dará uma estrutura de dados que eu possa enviar para o meu Contexto de Dados LINQ.
<code>IEnumerable<Page> pages = from el in doc.Descendants() where el.Name.LocalName == "page" select new Page() { Name = el.Elements().Where(e => e.Name.LocalName == "title").First().Value, Status = 'N', PageContents = (from pc in el.Elements() where pc.Name.LocalName == "revision" select new PageContent() { Content = pc.Elements().Where(e => e.Name.LocalName=="text").First().Value, Username = pc.Elements().Where(e => e.Name.LocalName == "contributor").First().Elements().Where(e => e.Name.LocalName == "username").First().Value, DateTime = DateTime.Parse(pc.Elements().Where(e => e.Name.LocalName == "timestamp").First().Value) }).ToList() }; </code>
O problema está na subconsulta. Eu tenho que de alguma forma obter minha coleção de objetos no contêiner EntitySet. Eu não posso lançá-lo (oh senhor como eu tentei) e não há nenhum construtor EntitySet () que parece ajudar.
Então, eu posso escrever uma consulta LINQ que irá preencher os dados EntitySet <PageContent> com meus dados IEnumerable <Page>?