1

我每分鐘調用ExecuteSqlCommand幾千次,每次都是往返數據庫。該命令本身調用一個存儲過程,參數從INT到NVARCHARS到「結構化」表值參數。當我查看由Entity Framework通過SQL Profiler生成的SQL命令時,相當大量的數據正在發送到數據庫。在代碼優先的DbContext上批處理ExecuteSqlCommand語句

由於SP沒有返回值,所以它非常「火和遺忘」,我想嘗試對SQL命令進行批處理,並且一次發送10個批次。這可能使用實體框架?有沒有辦法讓Entity Framework爲每次調用返回完整的SQL命令,然後我可以自己連接SQL並自己調用ExecuteSqlCommand?

回答

2

EntityFramework目前不支持批處理。但是,如果你只是執行SQL查詢,那麼我沒有看到使用EntityFramework的好處。你可以在下面的一個層次上進行純ADO.NET的支持,以批量發送Sql命令。看看這個MSDN的帖子瞭解更多詳情:http://msdn.microsoft.com/en-us/library/aadf8fk2.aspx