2012-09-13 32 views
1

在我Global.asax文件中,在我ApplicationStart()功能我想刪除表並重新創建乾淨應用程序啓動時。什麼是最好的方式來實現這一點,所以每次開始我的程序時都是無縫的?爲了獲得更好的想法,我在一個表中跟蹤在線用戶,但是當應用程序再次啓動時,顯然我想清除此表。我需要刪除並重新創建表,因爲身份種子不會開始,如果我只是截斷它(我使用SQL Azure的,所以我不能運行DB命令重置種子)。另外,如果我只是截斷我的表,不會重置種子是一個不好的做法?我已經完成了這個工作,並且在測試之後,我已經像id 1000一樣。如何刪除並重新在實體框架表

+0

這可能有所幫助:http://social.msdn.microsoft.com/Forums/en/adonetefx/thread/2e6fb4d5-0bdc-4391-8824-47f8c35d5302 – Grixxly

+0

不重置種子根本不是一個壞習慣,如果你不需要順序編號的實際ID。如果您擔心會耗盡ID,則可以增加字段長度或使用GUID字段。 –

+2

實際上一個SQL'TRUNCATE TABLE'命令執行重置標識列的種子。這是'DELETE FROM',不。你能顯示當前清除表的代碼嗎? – JamieSee

回答

2

你可以做一個正常的SQL TRUNCATE命令,使用ExecuteStoreCommand方法。 就這樣dbContext.ExecuteStoreCommand("TRUNCATE TABLE myTable");。截斷刪除表中的所有記錄並重置自動ID的種子。