Pengecualian "Gelung Rujukan Kendiri Dikesan" JSON.Net
Pengecualian "Gelung Rujukan Kendiri Dikesan" dalam JSON.Net berlaku apabila terdapat rujukan bulat dalam data yang disiri. Dalam kod yang disediakan, pengecualian ini ditemui apabila cuba mensirikan Senarai objek Laluan disebabkan gelung dalam graf objek.
Butiran Pengecualian
Mesej pengecualian menunjukkan bahawa gelung rujukan sendiri telah dikesan dalam entiti PartNumber. Khususnya, laluan "routes[0].incomingLots[0].partNumber.partType.partNumbers" mengandungi gelung, bermakna perwakilan JSON bagi senarai Laluan akan mengandungi rujukan kepada dirinya sendiri.
Penyelesaian
Untuk membetulkan isu ini dan menghalang gelung, ubah suai pembina kelas DbContext untuk melumpuhkan pemuatan malas dan penciptaan proksi:
public YourDbContext() : base("name = YourDbContext") { // Disable lazy loading and proxy creation this.Configuration.LazyLoadingEnabled = false; this.Configuration.ProxyCreationEnabled = false; }
Dengan melakukan ini, anda mengarahkan DbContext untuk tidak memuatkan entiti berkaitan secara automatik dan mencipta proksi untuknya. Ini akan memecahkan rujukan pekeliling dan membenarkan senarai Laluan disirikan dengan jayanya.
Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Pengecualian 'Gelung Rujukan Diri Dikesan' dalam JSON.Net Apabila Mensiri Senarai Objek?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!