登录时,json序列化用户类时提示错误“Self referencing loop detected for property……”,经过5个小时的查找,发现原因可能是,用户类包含了其他类的导航属性(codefirst中用到)导致序列化时出现的循环引用错误

解决办法:将用户类投影到新的表中即可。如下:

  var user = ubll.GetList(u => u.LoginName == userName && u.Password == pwd).Select(u => new
            {
                u.ID,
                u.LoginName,
                u.Password,
                u.Role,
                u.Tel,
                u.UserName,
                u.DelFlag,
                u.Email,
                u.Gender,
                u.CompanyID,
                u.Address,
                u.CreateDataTime
            }).FirstOrDefault();
   
string UserData = SerializeHelper.Instance.ToJson(user);//序列化用户实体    

  

posted on 2017-01-16 01:44  芝麻的西瓜  阅读(380)  评论(0编辑  收藏  举报