登录时,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);//序列化用户实体