我正在用LINQ to SQL
从我的数据库中提取JSON
。我已经设置了Serialization Mode Unidirectional
(这样我就可以序列数据),有一次我查询我的对象(User
)我将其转换为JSON
:如何强制查询检索嵌套元素数据?
[WebMethod]
public User GetUserByID(int ID)
{
User user = db.User.Where(p => p.ID == ID).FirstOrDefault();
var json = JsonConvert.SerializeObject(user, new IsoDateTimeConverter());
return user;
}
的问题是,对得到的JSON
,嵌套数据/对象(即我对该对象与其他对象/表的关系)为null
。
因此,例如,如果我有针对该用户3的电话号码(1-N的关系),而不是检索JSON
阵列与这些(3)的数字,它把:
"Phones": null,
如何能我“强制”User
以查询其中的所有数据/关系吗?
如果我序列之前执行此查询(例如):“类型‘用户’检测到自参照环”
var phones = m_oAlumno.Telefono.ToList();
它说
http://stackoverflow.com/questions/7397207/json-net-error-self-referencing-loop-detected-for-type – Ric
@Ric我认为问题首先是LINQ不加载嵌套实体! – niksofteng
该帖子有关嵌套实体的一些答案,认为它可能是有用的 – Ric