LINQ高级语法:使用ExecuteUpdate方法查询并批量更新数据(Where+Update)
LINQ高级语法:使用ExecuteUpdate方法查询并批量更新数据(Where+Update)
ExecuteUpdate方法
ExecuteUpdate 将数据保存到数据库的方法,无需使用 EF 的传统更改跟踪和 SaveChanges() 方法。
ExecuteUpdate 方法结合Where查询条件实现批量更新数据。
更新一个字段:
C# 全选
context.Blogs
.Where(b => b.Rating < 3)
.ExecuteUpdate(setters => setters.SetProperty(b => b.IsVisible, false));
执行的SQL:
C# 全选
UPDATE [b]
SET [b].[IsVisible] = CAST(0 AS bit)
FROM [Blogs] AS [b]
WHERE [b].[Rating] < 3
更新多个字段:
C# 全选
context.Blogs.Where(b => b.Rating < 3)
.ExecuteUpdate(setters => setters
.SetProperty(b => b.IsVisible, false)
.SetProperty(b => b.Rating, 0));
CSFramework.EF使用案例
C# 全选
var db = DatabaseFactory.GetDatabase( DatabaseType.SqlServer,connectionString);
//更新用户的最后登录时间
var count = db.GetQueryable<tb_MyUser>().Where(w => w.Account == "admin")
.ExecuteUpdate(s => s.SetProperty(b => b.LastLoginTime, DateTime.Now));
CSFramework.EF数据库框架:
https://www.cscode.net/archive/csframework.ef/363596745297925.html
版权声明:本文为开发框架文库发布内容,转载请附上原文出处连接
NewDoc C/S框架网