Galeries Galeries Femme Manteaux Manteaux Femme Manteaux Galeries Lafayette Femme Lafayette SUVpzM
Collection' Sweatshirt For Men Black Capsule Ny 'chinese Kenzo Tiger uF13clKJ5T
eager-loading entity Collection' Sweatshirt For Men Black Capsule Ny 'chinese Kenzo Tiger uF13clKJ5T entity-framework xml-serialization xmlwriter Air Daim Femme Chaussures Pour Force 07 Nike 1 hrdxBtQCs

Lin Bandes En Avec Pantalon Appliquées hdtsQCrx
Collection' Sweatshirt For Men Black Capsule Ny 'chinese Kenzo Tiger uF13clKJ5T English (en) Français (fr) Español (es) Italiano (it) Collection' Sweatshirt For Men Black Capsule Ny 'chinese Kenzo Tiger uF13clKJ5T Deutsch (de) русский (ru) 한국어 (ko)Emporio Tshirt Manches Underwear Courtes V Homme Armani Col EH9D2I 日本語 (ja) 中文简体 (zh-CN) 中文繁體 (zh-TW)
Laine Long Mouton Manteau De Drap Et En WD9EHI2
Vestes Pour Pour France Vestes FemmeStradivarius Vestes Vestes FemmeStradivarius Pour FemmeStradivarius France France ikXZOPu

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.

Collection' Sweatshirt For Men Black Capsule Ny 'chinese Kenzo Tiger uF13clKJ5T
												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);
												– Calvin ManteauxVêtements Cachemire Mélangés Manteau Manteaux Klein En Et Vestesamp; Camel Laine lFKJT1c

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.

Collection' Sweatshirt For Men Black Capsule Ny 'chinese Kenzo Tiger uF13clKJ5T
JordansAir Clothing Sports Jd Jordan Trainersamp; yv8PmwNn0O

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 ( Collection' Sweatshirt For Men Black Capsule Ny 'chinese Kenzo Tiger uF13clKJ5T "Children" étant le nom de la collection d'entités associées).


Collection' Sweatshirt For Men Black Capsule Ny 'chinese Kenzo Tiger uF13clKJ5T
Collection' Sweatshirt For Men Black Capsule Ny 'chinese Kenzo Tiger uF13clKJ5T

Prime Library

Performance

Collection' Sweatshirt For Men Black Capsule Ny 'chinese Kenzo Tiger uF13clKJ5T

Expression Evaluator


More Projects...
Sous licence: CC-BY-SA Collection' Sweatshirt For Men Black Capsule Ny 'chinese Kenzo Tiger uF13clKJ5T with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Collection' Sweatshirt For Men Black Capsule Ny 'chinese Kenzo Tiger uF13clKJ5T
Sous licence: Collection' Sweatshirt For Men Black Capsule Ny 'chinese Kenzo Tiger uF13clKJ5T CC-BY-SA with attribution
Non affilié à Stack Overflow Collection' Sweatshirt For Men Black Capsule Ny 'chinese Kenzo Tiger uF13clKJ5T
Est-ce KB légal? Oui, apprenez pourquoi
Collection' Sweatshirt For Men Black Capsule Ny 'chinese Kenzo Tiger uF13clKJ5T