gpt4 book ai didi

c# - 如何通过 BlToolkit 更新集合

转载 作者:太空宇宙 更新时间:2023-11-03 21:34:41 24 4
gpt4 key购买 nike

我有一组由属性 Id 标识的用户,对于每个用户,我想将他的用户名更新为类似username+"!" .

在 bltoolkit 中我这样尝试:

using(var db = new DbManager)
{
foreach(var user in users)
{
db.GetTable<User>().Where(x=>x.Id == user.Id).Set(x=>x.Username, x.Username + "!").Update();
}
}

我想这会对数据库进行 n 查询(而 n用户的大小> 集合),这是我试图避免的。

是否有任何其他(更好的)解决方案来像这样更新整个集合?

最佳答案

将此使用添加到您的代码中:

using BLToolkit.Data.Linq

现在您可以使用 Update<T> DbManager 中的扩展方法.此方法允许您通过将实体集合作为参数传递来进行批量更新。

在你的情况下使用它是这样的:

using(var db = new DbManager)
{
foreach(var user in users)
user.Username = user.Username + "!"; //update each user in collection first

db.Update<User>(users); //just one database call for batch update
}

关于c# - 如何通过 BlToolkit 更新集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22352698/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com