2016-04-08 116 views
1

我有一個場景,所有用戶都有一個屬性可以採用true或false,我正在尋找爲所有用戶更新此屬性的最痛苦方式,現在我正在加載所有用戶+使用foreach循環並更新屬性+然後將更改保存到數據庫,但您可以想象當用戶數量非常大時會有多遲,也可能需要更新此屬性每天多次 - 不只是管理員 - 所以我需要它快。實體框架如何更新具有相同值的所有實體

有人能告訴我更好的方法嗎?

注:我沒有測試尚未 - 當然 - 有大量的用戶,所以如果你有這樣的情況的經驗和你認爲不會需要很長時間,請讓我知道 感謝

+0

你應該提供有關房產的更多信息。它可以計算,每晚計算,... –

+0

好吧...這個屬性是用來通知用戶新的事件,它被稱爲ShouldNotify,它需要設置爲false,一旦用戶請求返回此屬性的操作,所以我可以得到看到更新的用戶數 –

回答

0

如果你這樣做,它應該只有1更新查詢到您的數據庫。

context.Users.Update(x = > New Users(){ MyProperty = true}); 

你可以在這裏看到更多的信息:

http://www.seguetech.com/blog/2015/01/26/performing-bulk-updates-entity-framework-6.1%2B

+0

什麼是「NorthwindContext」?它有一個nuget包嗎? –

+0

這並不重要。重點是:使用[EntityFramework.Extended](https://github.com/loresoft/EntityFramework.Extended)。 –

+1

謝謝:) :) :) –