I found such post about partial update: 100

我的情况如下——我有一个表,让我们说Person with Id,Name,LastName,DateOfBirth等.很多时候我需要更新所有字段,没有问题.

但也有一些时候,我需要非常窄的更新,我手头有ID,没有其他,我只想设置字段LastSeen.

仅为了更改一个字段而获取完整记录对我来说是浪费的,而求助于原始SQL是可能的,但另一方面看起来很难看.

是否有一种方法可以保持在EF核心的"限制"内,并在给定的时刻执行部分更新?

推荐答案

是的,从EF Core 7开始,您可以使用ExecuteUpdate(Async)和ExecuteDelete(Async)方法:

https://learn.microsoft.com/en-us/ef/core/saving/execute-insert-update-delete

context.Persons
  .Where(p => p.Id == id)
  .ExecuteUpdate(setters => setters.SetProperty(p => p.LastSeen, DateTime.Now));

Csharp相关问答推荐

利用.NET 8中的AddStandardResilienceDeliveries和AddStandardHedgingDeliveries实现Resiliency

.NET最小API映射将T参数列表为[FromQuery]

更改对象的旋转方向

Azure Redis缓存与Entra ID身份验证

自动映射程序在GroupBy之后使用项目

如何在没有前缀和可选后缀的情况下获取Razor Page Handler方法名称?

如何解决提交按钮后 Select 选项错误空参照异常

我如何让我的秒表保持运行场景而不重置

将字节转换为 struct 并返回

C#中Java算法的类似功能

如何将DotNet Watch与发布配置和传递给应用程序的参数一起使用?

如何使用.NET6WPF打印车票?

如何在C#中正确类型化带有泛型的嵌套类

RCL在毛伊岛应用程序和Blazor服务器应用程序.Net 8.0中使用页面

从GRPC连接创建ZipArchive

删除MudRadio时,MudRadioGroup未 Select 正确的MudRadio

将列表转换为带有逗号分隔字符串形式的值的字典

在Visual Studio 2022中查找Xamarin模板时遇到问题

同时通过多个IEumable<;T&>枚举

从列表中跳过和获取条目的优雅方式