Jak rzucić IEnumerable <t> lub IQueryable <t> na EntitySet <t>?
W tej sytuacji próbuję wykonać import danych z pliku XML do bazy danych przy użyciu LINQ do XML i LINQ do SQL.
Oto mój model danych 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>
Zasadniczo staram się napisać zapytanie, które da mi strukturę danych, którą mogę po prostu przesłać do mojego kontekstu danych 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>
Problem występuje w pod-zapytaniu. Muszę jakoś pobrać kolekcję obiektów do kontenera EntitySet. Nie mogę go rzucić (o Panie, jak już próbowałem) i nie ma konstruktora EntitySet (), który mógłby pomóc.
Czy mogę napisać zapytanie LINQ, które zapełni dane EntitySet <PageContent> moimi danymi IEnumerable <Page>?