2009-07-06 125 views
3

我使用LINQ訪問我的數據庫,從而得到一個LINQ創建的對象,我想將它發送到瀏覽器(這是一個web服務)作爲JSON對象。這到目前爲止工作得很好,但是當我向數據庫中添加一些測試數據(每個表中大約有10-20個條目)時,這會失敗。原因是LINQ對象包含所有引用的對象。這變得非常快。例如。每個資源類型包含其所有資源,其中包含所有預留線路,其中包含每個預留。將LINQ對象序列化爲JSON字符串 - 巨大的字符串

你有關於如何解決這個問題的提示嗎?我可以設置序列化程序中的設置嗎?我使用json.net來序列化對象。或者在LINQ中有一些設置?

在最好的情況下,我不希望創建新對象之前,我序列化它們,因爲它是非常方便的,只是序列化LINQ對象直接:)

回答

5

最好的做法,至少在那一刻是不要序列化LINQ to SQL對象或實體框架實體。主要原因是它們包含基類的實現相關數據。

相反,序列化你想要的序列化。使用數據傳輸對象完全匹配您想要發送的內容,並在發送之前從LINQ到SQL對象複製到它們中。

相關問題