2016-04-08 104 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

谢谢:) :) :) –