我有一個User
實體,它與系統中的其他實體有太多關係。我正在使用AngularJs,並且想要將User
實體序列化爲僅包含實體的json。 這裏是我的select語句:實體框架將實體序列化爲包含相關實體的JSON
var users = unc.Users.Include("Profile").ToList();
序列化時,這JSON它總是會導致成
The operation cannot be completed because the DbContext has been disposed
我使用的只是選擇每一列,我需要在我看來像這樣來解決這個問題:
var users = unc.Users.Select(x => new { x.Id ,x.Username,Role=x.Role.Name,x.Email,x.Profile.Name,x.UpdatedAt,x.CreatedAt}).ToList();
但這太難了,代碼太多了。我正在尋找理想或更好的解決方案。
謝謝
如果你做了一個ToList(),你不應該得到那個消息。您的序列化代碼是否參考了上下文? –
@SteveGreene事實上,它正確的獲取該消息,因爲當您序列化實體時,json序列化器將嘗試序列化該實體的所有屬性ownd,以便您將獲得該消息。 –
也許看看你的上下文的生命週期並擴展它。 http://stackoverflow.com/questions/18261732/the-operation-cannot-be-completed-because-the-dbcontext-has-been-disposed-exce –