01/10/2018, 15:10

Lỗi khi Chuyển đổi model tự phát sinh khi làm database first thành json

Tình hình là với các model em tự tạo thì nó chuyển đổi được. Còn với các model tự phát sinh khi làm database first thì nó bị lỗi ạ
Đây là model tự phát sinh

public partial class LoaiSanh
    {
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
        public LoaiSanh()
        {
            this.Sanhs = new HashSet<Sanh>();
        }
    
        public string MaLoaiSanh { get; set; }
        public string TenLoaiSanh { get; set; }
        public Nullable<int> GiaBanToiThieu { get; set; }
    
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
        public virtual ICollection<Sanh> Sanhs { get; set; }
    }

Đây là khi em chuyển đổi

public ActionResult DetailsTest(string id)
        {
            if (id == null)
            {
                return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
            }
            LoaiSanh loaiSanh = (LoaiSanh)db.LoaiSanhs.Find(id);
            if (loaiSanh == null)
            {
                return HttpNotFound();
            }
            //var kq = Newtonsoft.Json.JsonConvert.SerializeObject(new Test(1,"minh"));
            var kq = Newtonsoft.Json.JsonConvert.SerializeObject(loaiSanh);
            //var kq = Json(loaiSanh, JsonRequestBehavior.AllowGet);
            return Json(kq, JsonRequestBehavior.AllowGet);
        }

Đây là lỗi ạ
Newtonsoft.Json.JsonSerializationException: ‘Self referencing loop detected for property ‘LoaiSanh’ with type ‘System.Data.Entity.DynamicProxies.LoaiSanh_BCC01FA1FDE7A4DF028C7E7989622B367AB89BD84BCF1BD235DFACD62FCB6C02’. Path ‘Sanhs[0]’.’

Bài liên quan
0