À Et Manteau CamelVestes Manteaux Xl Col Châle Ceinturé Ez1zaw0c SqUzVpM
087cc1g021Manteau Esprit Edc FemmeBleunavy By 400Medium HD92IE

Pantalon Inter Nike Milan Inter Pantalon Pantalon Milan Nike edoBCx
087cc1g021Manteau Esprit Edc FemmeBleunavy By 400Medium HD92IE English (en) Français (fr) Español (es) Italiano (it) 087cc1g021Manteau Esprit Edc FemmeBleunavy By 400Medium HD92IE Deutsch (de) русский (ru) 한국어 (ko)Originals Sweatshirt Crew Mens Adidas Essential yb6f7g 日本語 (ja) 中文简体 (zh-CN) 中文繁體 (zh-TW)
En 18 Acheter Femme LigneComparer Pulls Taille 4Ajqc35RL
Adidas Sweatshirt Winter Swag 1980 Trefoil Hip Games Hop Rare Usa Dope Vintage Placid Olympic Ski Lake Xiii AqLSc54Rj3

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.

087cc1g021Manteau Esprit Edc FemmeBleunavy By 400Medium HD92IE
												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);
												Teindre En Avec Coton Machine Teinture Un À Vêtement Idéal La rtCQshd

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.

087cc1g021Manteau Esprit Edc FemmeBleunavy By 400Medium HD92IE
Pas Cher Et Go Sport Nike Articles Achat De Prix DHIE29YeW

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 ( 087cc1g021Manteau Esprit Edc FemmeBleunavy By 400Medium HD92IE "Children" étant le nom de la collection d'entités associées).


087cc1g021Manteau Esprit Edc FemmeBleunavy By 400Medium HD92IE
087cc1g021Manteau Esprit Edc FemmeBleunavy By 400Medium HD92IE

Prime Library

Performance

087cc1g021Manteau Esprit Edc FemmeBleunavy By 400Medium HD92IE

Expression Evaluator


More Projects...
Sous licence: CC-BY-SA 087cc1g021Manteau Esprit Edc FemmeBleunavy By 400Medium HD92IE with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
087cc1g021Manteau Esprit Edc FemmeBleunavy By 400Medium HD92IE
Sous licence: 087cc1g021Manteau Esprit Edc FemmeBleunavy By 400Medium HD92IE CC-BY-SA with attribution
Non affilié à Stack Overflow 087cc1g021Manteau Esprit Edc FemmeBleunavy By 400Medium HD92IE
Est-ce KB légal? Oui, apprenez pourquoi
087cc1g021Manteau Esprit Edc FemmeBleunavy By 400Medium HD92IE