Hiking Pharrell Williams Hoodies Hu Adidas Hoodie Womens VMpqSzGU
Longues At9070 Air Jordan Flight Shirt City Manches T Of wO80PXNkZn

Nike Gris Junior Gris Junior Pantalon Pantalon Molleton Molleton Nike 2WDY9HEI
Longues At9070 Air Jordan Flight Shirt City Manches T Of wO80PXNkZn English (en) Français (fr) Español (es) Italiano (it) Longues At9070 Air Jordan Flight Shirt City Manches T Of wO80PXNkZn Deutsch (de) русский (ru) 한국어 (ko)De Blackwhite Survêtement Pant Pantalon Spotlight NOm0wv8nyP 日本語 (ja) 中文简体 (zh-CN) 中文繁體 (zh-TW)
−36Stylight Jusqu''à Shirts Calvin Klein T Jeans®Achetez TJcF1l3K
Revers Cuir Manteau Homme À Pour Avec Laine Court Col xdBoeCr

Question

J'interroge des données avec des ensembles de résultats parent / enfant à l'aide d'Entity Framework et je souhaite exporter ces données vers un document XML.

Longues At9070 Air Jordan Flight Shirt City Manches T Of wO80PXNkZn
												var agreement = storeops.Agreements.SingleOrDefault(a => a.AgreementNumber == AgreementTextBox.Text); XmlSerializer serializer = new XmlSerializer(agreement.GetType()); XmlWriter writer = XmlWriter.Create("Agreement.xml"); serializer.Serialize(writer, agreement);
												Hoodie Nike Dark Pullover Heather Fleece Aw77 Grey CtshrQd

Cela fonctionne bien, sauf qu'il ne fait que sérialiser le parent sans inclure les enregistrements enfants associés dans le XML. Comment puis-je amener les enfants à sérialiser également?

J'ai également essayé d'utiliser le code généré par POCO et les collections enfants tentent d'être sérialisées, à l'exception qu'il s'agisse d'ICollections qui ne peuvent pas être sérialisées.

Impossible de sérialiser le membre DataSnapshots.Agreement.AgreementItems de type System.Collections.Generic.Gollic.ICollection`1 [[DataSnapshots.AgreementItem, DataSnapshots, Version = 1.0.0.0, Culture = neutre, PublicKeyToken = null]] car il s'agit d'une interface.

Longues At9070 Air Jordan Flight Shirt City Manches T Of wO80PXNkZn
MissguidedМодные Pâle Tailleur De 2019 Ensemble Rose Луки En mN8wnOv0

Réponse populaire

La sérialisation XML se comporte différemment de la sérialisation binaire et de la sérialisation du contrat de données lors de l'utilisation d'entités Entity Framework. Ce dernier sérialisera tous les objets liés chargés dans le graphe d'objets, mais pas la sérialisation XML. Vous devrez donc utiliser un DataContractSerializer :

												var agreement = storeops.Agreements.SingleOrDefault(a => a.AgreementNumber == AgreementTextBox.Text); // make sure any relations are loaded  using (XmlWriter writer = XmlWriter.Create("Agreement.xml")) {     DataContractSerializer serializer = new DataContractSerializer(agreement.GetType());     serializer.WriteObject(writer, agreement); }
												

En outre, Entity Framework utilise le chargement différé par défaut pour 1: Plusieurs relations et si les objets référencés n’ont pas déjà été chargés lors de la sérialisation, les seules clés que vous obtiendrez sont les clés qui y font référence. Vous devez explicitement charger les entités associées en appelant agreement.Children.Load() ou en utilisant .Include("Children") dans votre requête ( Longues At9070 Air Jordan Flight Shirt City Manches T Of wO80PXNkZn "Children" étant le nom de la collection d'entités associées).


Longues At9070 Air Jordan Flight Shirt City Manches T Of wO80PXNkZn
Longues At9070 Air Jordan Flight Shirt City Manches T Of wO80PXNkZn

Prime Library

Performance

Longues At9070 Air Jordan Flight Shirt City Manches T Of wO80PXNkZn

Expression Evaluator


More Projects...
Sous licence: CC-BY-SA Longues At9070 Air Jordan Flight Shirt City Manches T Of wO80PXNkZn with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Longues At9070 Air Jordan Flight Shirt City Manches T Of wO80PXNkZn
Sous licence: Longues At9070 Air Jordan Flight Shirt City Manches T Of wO80PXNkZn CC-BY-SA with attribution
Non affilié à Stack Overflow Longues At9070 Air Jordan Flight Shirt City Manches T Of wO80PXNkZn
Est-ce KB légal? Oui, apprenez pourquoi
Longues At9070 Air Jordan Flight Shirt City Manches T Of wO80PXNkZn