我正在用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