2012-12-13 45 views
27

我使用EF5在VS2012,我嘗試使用ExecuteStoreCommand刪除某些表的所有數據, 是這樣的:實體框架5中的ExecuteStoreCommand方法在哪裏?

ctx.ExecuteStoreCommand("TRUNCATE TABLE [" + tableName + "]"); 

但問題是EF告訴我,方法ExecuteStoreCommand沒有找到。我不明白爲什麼?

你能告訴我爲什麼嗎?或者給我一個高性能的解決方案刪除表中的所有數據。

+0

你確定嗎? http://msdn.microsoft.com/en-us/library/system.data.objects.objectcontext.executestorecommand.aspx – tomfanning

+3

@tomfanning,這取決於他是否使用ObjectContext或DbContext –

+0

正確。 EF5/6默認是DbContext(POCO),除非你施放它們。 – DFTR

回答

80

試試這個:

ctx.Database.ExecuteSqlCommand 
+1

這個答案應該是標記爲答案...這是一個完美的solution.1投票爲您@Justin哈維 –

+0

我使用: ctx.Database.ExecuteSqlCommand(「SET IDENTITY_INSERT PROFILE ON」) 但它不工作。 ..無法插入自定義主鍵。怎麼做 ? –