2015-03-25 680 views
1

我需要從Excel文件存儲臨時表(設備臨時表)中讀取數據,並將所有數據複製到此臨時表中。這些記錄在實際表(userDevices)中更新,並且以前的輸入需要被刪除。如何在EF6中使用臨時表

我在我的項目中使用了EF6。因此我已將實體「Device」映射到「userDevices」表。我將如何利用實體框架將數據插入臨時表中,然後將其替換爲實際表中的數據。

存儲過程是唯一的選擇?或者我可以利用EF來做同樣的事情嗎?

+0

不能讀取excel文件並將數據保存在DataTable或List中,然後將此內存項映射到Device表? – wonderbell 2015-03-25 05:59:02

+0

不需要。要求是先將它保存在臨時表中。因爲數據會非常大。此外,我需要把所有交易 – iGod 2015-03-25 08:31:51

+0

如果你的臨時表必須存儲數據,那麼爲什麼它不能是一個總是存在的表,其數據可以被視爲臨時表。結構(否和列的類型)是否改變? – 2015-03-29 17:46:09

回答

4

使用臨時表的唯一方法是在存儲過程中完成它們的創建,操作,插入和最終數據提取。一旦這些設置,然後EF可以打電話和利用它們。

如同EF在生成表映射時不瀏覽tempDb模式;因此無論會話(# vs ##)狀態如何,都不能使用任何臨時表;由於臨時表本身的性質。