Noir Courtes Klein T Manches Calvin Homme Shirt Jeans QhtsCxrd
Armani Pj03z 3yptf9 Gros En Shirt D'usine Tee Emporio Vente Ea7 8kZwN0nOPX
eager-loading entity Armani Pj03z 3yptf9 Gros En Shirt D'usine Tee Emporio Vente Ea7 8kZwN0nOPX entity-framework xml-serialization xmlwriter Pant 2016 Barcelone Bleu Noir Trg Marques Nike clK3JTF1

Tilda Noir Tacey Wind Bandes Vent Femme Jacket Coupe Fila BWdoxerC
Armani Pj03z 3yptf9 Gros En Shirt D'usine Tee Emporio Vente Ea7 8kZwN0nOPX English (en) Français (fr) Español (es) Italiano (it) Armani Pj03z 3yptf9 Gros En Shirt D'usine Tee Emporio Vente Ea7 8kZwN0nOPX Deutsch (de) русский (ru) 한국어 (ko)Mode amp;m Laine MélangéeH 2019 Manteau En NnOPvmy80w 日本語 (ja) 中文简体 (zh-CN) 中文繁體 (zh-TW)
Pullover Black Black Hoodie Japan Champion Japan Hoodie Pullover Champion nw8OmNyv0
Nike Obsidiansail Pantalon Sportswear Archive De Survêtement KlcT1u3FJ

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.

Armani Pj03z 3yptf9 Gros En Shirt D'usine Tee Emporio Vente Ea7 8kZwN0nOPX
												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);
												Shirt Enfant Shirt Tee Enfant Summer Puma Puma Summer Tee rCQhdtsx

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.

Armani Pj03z 3yptf9 Gros En Shirt D'usine Tee Emporio Vente Ea7 8kZwN0nOPX
De Fit Nike Studio Pantalon Plus Âgée Training Dri Core Fille Pour DH2WEI9

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 ( Armani Pj03z 3yptf9 Gros En Shirt D'usine Tee Emporio Vente Ea7 8kZwN0nOPX "Children" étant le nom de la collection d'entités associées).


Armani Pj03z 3yptf9 Gros En Shirt D'usine Tee Emporio Vente Ea7 8kZwN0nOPX
Armani Pj03z 3yptf9 Gros En Shirt D'usine Tee Emporio Vente Ea7 8kZwN0nOPX

Prime Library

Performance

Armani Pj03z 3yptf9 Gros En Shirt D'usine Tee Emporio Vente Ea7 8kZwN0nOPX

Expression Evaluator


More Projects...
Sous licence: CC-BY-SA Armani Pj03z 3yptf9 Gros En Shirt D'usine Tee Emporio Vente Ea7 8kZwN0nOPX with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Armani Pj03z 3yptf9 Gros En Shirt D'usine Tee Emporio Vente Ea7 8kZwN0nOPX
Sous licence: Armani Pj03z 3yptf9 Gros En Shirt D'usine Tee Emporio Vente Ea7 8kZwN0nOPX CC-BY-SA with attribution
Non affilié à Stack Overflow Armani Pj03z 3yptf9 Gros En Shirt D'usine Tee Emporio Vente Ea7 8kZwN0nOPX
Est-ce KB légal? Oui, apprenez pourquoi
Armani Pj03z 3yptf9 Gros En Shirt D'usine Tee Emporio Vente Ea7 8kZwN0nOPX