【发布时间】:2016-07-09 04:35:45
【问题描述】:
这是我尝试序列化的对象:
public class EmailAttachment
{
public int ID { get; set; }
public string Filepath { get; set; }
public string Filename { get; set; }
public int EmailID { get; set; }
[IgnoreDataMember]
public virtual ReceivedEmail Email { get; set; }
}
这是我的序列化代码:
var attachments = unitOfWork.EmailAttachmentRepository.Get(e => e.EmailID == emailID);
return Json(attachments, JsonRequestBehavior.AllowGet);
问题是虽然我放了[IgnoreDataMember]属性,但EmailAttachment的Email属性仍然是序列化的。我可以在控制台中看到实体日志,首先获取附件时没有获取Email,因为启用了延迟加载,但是当执行return Json(attachments, JsonRequestBehavior.AllowGet); 时,从数据库中获取列表Email 中的每个附件,这在Email 的属性上传播。
我怎样才能阻止这种情况?我只想要EmailAttachment 没有它的虚拟属性...
【问题讨论】:
标签: c# asp.net json entity-framework serialization