非常沮喪這裏... 我通常可以在網上找到的.Net某種複雜的問題一個答案的地方,但是這一次我摸不透。 我處於一種場景,我必須將LINQ的結果轉換爲實體查詢,然後才能將數據轉換爲數據集,以便現有的業務邏輯可以處理這些數據,而且我無法找到適合此目的的單個工作解決方案。我嘗試了基本的方法,如EntityCommand生成一個閱讀器,但這一個不工作,因爲DataTable.Load()thorws一個excpetion(讀者生成的EntityCommand不支持GetSchemaTable())。將實體模型轉換爲數據集 - 可以這樣做嗎?
我也嘗試了更多的[假設]友好的方法,如實體IDataReader(http://l2edatareaderadapter.codeplex.com/),但這一個拋出異常,有很少的文檔,並沒有被觸及,因爲2008.
我發現的另一種方法是在這裏(http://blogs.msdn.com/b/alexj/archive/2007/11/27/hydrating-an-entitydatareader-into-a-datatable-part-1 .aspx),但沒有代碼的工作副本;只有片段。
我覺得很難相信,首先MS的就不會提供這種向後兼容項目開箱,第二,它不會一直由社區製作無論是。
我願意在商業解決方案看,以及(如果可用)。
Thx!
THX多米尼克。嘗試了類似的東西。 一個巨大的問題 - 大型實體(即包含大量數據)。爲了解決這個問題,我有一個遞歸方法沿着實體樹進行,併爲它開始複製的每一個新的級別開始一個新的副本(在一個新的線程中),但是猜測--DataTable對象不是線程安全的。他們的內部索引很容易被破壞。只要你嘗試從多個線程向它們添加行,你會得到像http://stackoverflow.com/questions/450675/datatable-internal-index-is-corrupted這樣的異常。 – 2011-05-21 12:55:56
我不知道DataTable不是線程安全的。在這種情況下,我想最簡單的做法是從SqlCommand填充DataSet,而不是從實體傳遞。 – 2011-06-02 09:26:52