1
我一直在用我的新MVC應用程序進行大量測試,現在我已準備好進入新的開發階段。如何從aspnet架構中截斷所有表?
我想TRUNCATE
所有我的aspnet生成的表,但我似乎無法弄清楚刪除所有外鍵約束的順序。
TRUNCATE TABLE aspnet_Profile
TRUNCATE TABLE aspnet_UsersInRoles
TRUNCATE TABLE aspnet_PersonalizationPerUser
TRUNCATE TABLE aspnet_Membership
TRUNCATE TABLE aspnet_users
對此,我在aspnet_Users上收到一個外鍵約束問題。看着圖表,我似乎無法再找到可以引用aspnet_users的東西了。
我實際上從我在網上找到的刪除語句中抽取了這個命令,這個語句可以很好的按用戶使用。
DECLARE @UserId uniqueidentifier
SET @UserId = 'f0a05439-5218-4668-b11d-21a43385ea2f'
DELETE FROM aspnet_Profile WHERE UserID = @UserId
DELETE FROM aspnet_UsersInRoles WHERE UserID = @UserId
DELETE FROM aspnet_PersonalizationPerUser WHERE UserID = @UserId
DELETE FROM dbo.aspnet_Membership WHERE UserID = @UserId
DELETE FROM aspnet_users WHERE UserID = @UserId
其中,我也許能返工得到它刪除所有用戶,但我寧願TRUNCATE
。
你多久做一次這樣的事情,你用'TRUNCATE'獲得的積蓄會在任何事情上真正扮演重要角色? –
微不足道。但是這是我想要做的和不可能的,然後無法弄清楚或找到「爲什麼」的答案,並提出一個問題來學習。 :) – mawburn
您的'DELETE'是否仍然需要按照定義的順序處理表格(無論您是否將其限制爲單個用戶)?即使排除了所有「WHERE」子句(似乎愚蠢地循環遍歷所有用戶併爲每個用戶運行5次刪除),您在網上找到的訂單也將起作用。 –