[英]Web API Json Serialization Exception & Dynamic Entities
我有一个Web API控制器方法,该方法返回一个对象,该对象为客户端提供了500个内部服务器错误。 在服务器上,输出窗口显示“ Newtonsoft.Json.JsonSerializationException”。 但是我返回的班级没有任何问题..而且我确信这在历史上一直有效。 任何帮助将不胜感激!
编辑:这是Web API无法序列化“动态实体”的问题吗? 生成类的代码在这里:
var id = User.Identity.GetUserId();
var user = db.Users
.Where(u => u.Id == id)
.Include(u => u.Friends)
.FirstOrDefault();
return user;
我正在返回下一堂课;
public class User : IdentityUser
{
public User()
{
this.Friends = new List<UserFriend>();
}
public string PhoneNumber { get; set; }
public string Email { get; set; }
public List<UserFriend> Friends { get; set; }
public bool HasRegistered { get; set; }
public string LoginProvider { get; set; }
}
“ UserFriend”类如下所示;
public class UserFriend
{
public int UserFriendId { get; set; }
public string Id { get; set; }
public string FriendUserId { get; set; }
public string FriendUserName { get; set; }
public string FriendPhoneNumber { get; set; }
}
奇怪的是,当我将鼠标悬停在服务器上返回的对象上时,类型为:{System.Data.Entity.DynamicProxies.User_7283E76A736B4DD47E89120E932CD5C04B62F84C316961F02CDAE3EEF4786504}。 我不确定这是什么..:-O
我使用AutoMapper来创建DTO,而不仅仅是返回User类。 之所以要使用DynamicProxies类,是因为查询使用了延迟加载,并且还没有获取对象。
安装自动映射器之后(Install-Package AutoMapper);
Mapper.CreateMap<User, UserDto>();
UserDto dto = Mapper.DynamicMap<UserDto>(user);
然后返回dto。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.