2016-03-08 90 views
1
var IDsToUpdate = db.Orders.Where(x => listOfIDs.Contains(x.ID)); 

db.Orders.Update(IDsToUpdate , x => new Order{ OrderState = "TEST STATE" }); 

這是生產運行時錯誤:批量更新擴展

The query must be of type ObjectQuery or DbQuery.\r\nParameter name: source

我使用EF 6.0和EF擴展6.0和.NET 4

我需要做一個批處理/批量更新,否則性能是不可接受的。

listOfIDs的類型是List<string>

+0

你可以在問題中包含'Update'功能嗎? –

+0

更新函數文檔在這裏: https://github.com/loresoft/EntityFramework.Extended/blob/master/readme.md – neoswarm

+0

@neoswarm你有這個問題的解決方案嗎? – Yatin

回答

0

您運行查詢本身的更新。

db.Orders 
.Where(x => listOfIDs.Contains(x.ID)) 
.Update(x => new Order{ OrderState = "TEST STATE" });