Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk menyelesaikan kesilapan 'rujukan diri yang dikesan' kesilapan apabila menyatukan rangka kerja entiti POCO objek dengan json.net?
menyelesaikan "json.net ralat: gelung rujukan diri dikesan"
Serializing Objek CLR lama (POCOS) dari Model Data Entiti (.edmx) Menggunakan kadang -kadang boleh membuang kesilapan ini: JsonConvert.SerializeObject
<code>Error: Self referencing loop detected for type System.data.entity occurs.</code>Ini berlaku kerana kelas entiti Rangka Kerja Entiti sering mempunyai hubungan rujukan sendiri. Penyelesaiannya terletak pada menggunakan
untuk mengawal tingkah laku siri. JsonSerializerSettings
Menggunakan jSonserializersettings
menawarkan beberapa pilihan untuk mengendalikan rujukan bulat: JsonSerializerSettings
ReferenceLoopHandling.Error
ReferenceLoopHandling.Serialize
ReferenceLoopHandling.Ignore
inilah cara menerapkan tetapan ini:
untuk objek dengan bersarang terhingga, gunakan
:
ReferenceLoopHandling.Serialize
<code class="language-csharp">JsonConvert.SerializeObject(YourPOCOHere, Formatting.Indented, new JsonSerializerSettings { ReferenceLoopHandling = ReferenceLoopHandling.Serialize });</code>untuk mengelakkan
: PreserveReferencesHandling.Objects
StackOverflowException
<code class="language-csharp">JsonConvert.SerializeObject(YourPOCOHere, Formatting.Indented, new JsonSerializerSettings { PreserveReferencesHandling = PreserveReferencesHandling.Objects });</code>memilih tetapan yang betul
Tetapan terbaik bergantung pada struktur POCO anda. Berhati-hati mempertimbangkan hubungan dalam data anda untuk memilih pilihan yang paling sesuai dan mengelakkan ralat gelung rujukan diri semasa siri JSON.
Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan kesilapan 'rujukan diri yang dikesan' kesilapan apabila menyatukan rangka kerja entiti POCO objek dengan json.net?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!