我有我的.dbml生成的實體。所以一些對象具有「一對多」的關係,並且在實體中它被生成爲EntitySet。WCF +發送LINQ生成的對象
此外,我有WCF工作流服務應用程序,其中包含與bussines邏輯.xamlx。
所以使用這個.xamlx我嘗試發送之前生成的對象給客戶端,但我發現一個異常「底層連接已關閉:連接意外關閉」。
EntitySet <>已添加到KnonwTypes中。 .dbml文件中的Serelzation模式具有「無」值。
那麼,你能告訴我如何解決這個問題嗎?
我有我的.dbml生成的實體。所以一些對象具有「一對多」的關係,並且在實體中它被生成爲EntitySet。WCF +發送LINQ生成的對象
此外,我有WCF工作流服務應用程序,其中包含與bussines邏輯.xamlx。
所以使用這個.xamlx我嘗試發送之前生成的對象給客戶端,但我發現一個異常「底層連接已關閉:連接意外關閉」。
EntitySet <>已添加到KnonwTypes中。 .dbml文件中的Serelzation模式具有「無」值。
那麼,你能告訴我如何解決這個問題嗎?
是否存在內部異常?
我的猜測是由導航屬性引起的循環引用。
如果這是的話,你有兩個選擇:
是的,內部存在,內部異常的堆棧跟蹤:在System.Net。 HttpWebRequest.GetResponse() 在System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan超時) – Shersh 2011-04-17 08:55:02
我大概簡單的對象...但它很難映射所有的對象,我認爲這很愚蠢當做我有ADO.NET ... – Shersh 2011-04-17 08:56:36
http://automapper.codeplex.com/或http://valueinjecter.codeplex.com/讓生活更輕鬆 – 2011-04-17 09:47:52
UPDATE:我改變serilixation模式爲單向,它的工作原理,但有下一個問題,其中一個對象的一些屬性沒有用DataMemberAttribute定義,並沒有看到它在客戶端...我怎麼能解決它? – Shersh 2011-04-17 09:27:13
Marc_s,如果代碼是由visual studio生成的,我如何添加此屬性? – Shersh 2011-04-17 12:47:54
你可以使用另一種方法來生成你的類,它支持這種事情 - 例如[Damien Guard的Linq-to-SQL T4模板(免費)](http://l2st4.codeplex.com/)或[CodeSmith的PLinqO框架](http://www.codesmithtools.com/product/frameworks)(需要CodeSmith的使用許可) – 2011-04-17 13:39:49