Was ist der Zweck von IsReference
Eigenschaft in DataContract
? Wie unterscheiden sich die Anfrage und Antwort mit dieser Eigenschaft angewendet?IsReference Eigenschaft im Datenvertrag
Antwort
Er bestimmt, wie Objekte serialisiert werden, standardmäßig IsReference=false
.
Einstellung IsReference = true
ermöglicht die Serialisierung von Bäumen von Objekten, die sich gegenseitig referenzieren können. Also mit einer Liste von Employees
, die jeweils eine Eigenschaft für Manager
haben (der auch eine Employee
), einen Verweis auf die Manager
für jeden Employee
kann eher statt als die Manager
innerhalb jeden Employee
Knoten Einbetten:
IsReference=false
produzieren würde:
<Employee>
<Manager i:nil=“true“ />
<Name>Kenny</Name>
</Employee>
<Employee>
<Manager>
<Manager i:nil=“true“ />
<Name>Kenny</Name>
</Manager>
<Name>Bob</Name>
</Employee>
<Employee>
<Manager>
<Manager i:nil=“true“ />
<Name>Kenny</Name>
</Manager>
<Name>Alice</Name>
</Employee>
Wo, wie IsReference=true
produzieren würde:
<Employee z:Id=“i1“ xmlns:z=“http://schemas.microsoft.com/2003/10/Serialization/“>
<Manager i:nil=“true“ />
<Name>Kenny</Name>
</Employee>
<Employee z:Id=“i2“ xmlns:z=“http://schemas.microsoft.com/2003/10/Serialization/“>
<Manager z:Ref=“i1“ />
<Name>Bob</Name>
</Employee>
<Employee z:Id=“i3“ xmlns:z=“http://schemas.microsoft.com/2003/10/Serialization/“>
<Manager z:Ref=“i1“ />
<Name>Alice</Name>
</Employee>
Snippets aus dieser weblog, die eine vollständige Erklärung zusammen mit Beispielen der generierten XML mit der Eigenschaft angewendet hat.
MSDN - IsReference Property bietet Details sowie Interoperable Object References.
Auch IsReference
ist in .NET Framework 3.5 nicht vorhanden. Sie könnten also Fehler bekommen, wenn Sie es mit dieser Framework-Version verwenden - es existiert nur in 4.5, 4, 3.5 SP1 und Silverlight.
"Fehler 297 'System.Runtime.Serialization.DataContractAttribute' enthält keine Definition für 'IsReference'"
- 1. ASP.NET MVC, EF, 'IsReference' Eigenschaft angegeben wurde nicht gefunden
- 2. Datenvertrag oder Kundenmodell?
- 3. Benutzerdefinierter Datenvertrag/Name des Datenmembers
- 4. WCF und Datenvertrag mit Vorlage
- 5. Problem Erzeugen von Datenvertrag Code mit SvcUtil
- 6. Was ist Datenvertrag (Festigkeitsklasse) und beobachtbaren Sammlung
- 7. Wie kann ich unbekannte Felder in einem WCF-Datenvertrag erhalten?
- 8. Kann ein WCF-Datenvertrag einen WCF-Betriebsvertrag enthalten? Warum?
- 9. C# WCF Datenvertrag Teilklasse - neues Feld in 2. Teilklasse wird nicht abgeholt
- 10. Verschachtelte Eigenschaft im Klassenkonstruktor in Scala
- 11. Wie beibehalten DropDownList [] Array-Eigenschaft im Ansichtsstatus
- 12. Doppelte transactionManager -Eigenschaft im Grails-Dienst
- 13. IAMVideoProcAmp - Eigenschaft im automatischen Modus abrufen
- 14. Wie man Daten von einem WCF-Datenvertrag Objekt in die Nachricht bekommen Header
- 15. Die Name-Eigenschaft von DataMember wird mit der Eigenschaft [FromUri] im WebApi-Service ignoriert
- 16. Understanding UIImage size -Eigenschaft im Vergleich zu UIView frame size Eigenschaft
- 17. Wie deseriert der WCF-Testclient den Datenvertrag? Wie man eine Liste von DataContract-Objekten deserialisiert
- 18. Svcutil.exe generiert XmlElement-Eigenschaft für xsd: beliebiges Element im Schema
- 19. Wann ist die Session-Eigenschaft im Controller initialisiert?
- 20. SharePoint-Eigenschaft, auf die im Code zugegriffen werden kann
- 21. Kann ich den Typ einer Eigenschaft im Delegaten ableiten?
- 22. Überprüfen Sie, ob irgendwo im Code eine nicht vorhandene Eigenschaft
- 23. Verwendung der Groovy-Eigenschaft im Grails-Test schlägt fehl
- 24. AngularJS - Leaflet - Die Eigenschaft "center" ist im Hauptbereich nicht definiert
- 25. Swift Eigenschaft im Speicher vor der Initialisierung geladen heißt
- 26. Ist es möglich, eine Eigenschaft im Code "x: Binden"?
- 27. WPF: Get-Eigenschaft, die ein Steuerelement im Code hinter
- 28. wie man eine boolsche Eigenschaft im unity3d CGprogram Shader einstellt?
- 29. WPF Usercontrols - die .command Eigenschaft auf Knopf im Usercontrol Einstellung
- 30. Wie kann ich auf eine angehängte Eigenschaft im Code zugreifen?
+1 für den Webblog Link. Das hat sehr geholfen. – Darcy