所以我有一個LINQ到SQL的dbml文件中的情侶對錶:LINQ到SQL不會序列化的引用
我已成立了一個WCF REST得到端點用戶。我不能把它傳回的結構像這樣的JSON:
{
ID: '123',
Username: 'fdsaf',
...
Role:
{
ID: '123',
...
}
}
如果我設置從「無」的DBML序列化模式爲「單向」,我可以得到用戶對象沒有作用。如果我將序列化模式設置爲none並刪除關聯,則還可以獲取用戶對象。作爲一個完整性檢查,我也可以在沒有用戶的情況下獲得角色。當我嘗試將包括參考,它試圖序列兩次(在調試器),我得到什麼似乎是在客戶端上一個成功的函數調用後出現以下錯誤:
此外,我可以得到什麼我要找的,如果我打開的關聯,把內部的子屬性的訪問。但是,我有時想要將角色傳遞給用戶集合,所以這不夠。
我包括這一塊的信息,因爲它似乎表明串行試圖序列化用戶>角色>用戶>角色......等等,這顯然是不夠的。但是,在圓形和零級深度參考之間必須存在中間立場。下面
代碼:
using (DataContext context = new DataContext())
{
DataLoadOptions opts = new DataLoadOptions();
opts.LoadWith<User>(u => u.Role);
context.LoadOptions = opts;
return context.Users
.Where(u => u.ID == id)
.Where(u => u.Hash == hash)
.FirstOrDefault();
}
這種方法不使用JSON工作。 –