【发布时间】:2023-12-17 01:01:01
【问题描述】:
使用 ef core plus,我正在尝试更新模型上的一组行:
await _context.Set<Critique>()
.Include(c => c.User)
.Where(c => c.Closed && c.User.Id == user.Id)
.UpdateAsync(c => new Critique() { User = deletedUser });
在这里我得到以下异常:
ArgumentNullException:值不能为空。 参数名称:属性 Npgsql.EntityFrameworkCore.PostgreSQL.Utilities.Check.NotNull(T value, string parameterName) 在 Check.cs,第 21 行
TargetInvocationException:调用的目标已抛出异常。 System.RuntimeMethodHandle.InvokeMethod(object target, object[] arguments, Signature sig, bool constructor, bool wrapException
当我只用 ef core 加载数据时,它会加载我期望的 1 行
var test = await _context.Set<Critique>()
.Where(c => c.Closed && c.User.Id == user.Id)
.ToArrayAsync();
数据库模型没有什么花哨的,但是太大了,不能在这里发布。我正在广泛使用 [Required],并且有很多一对多关系。
(顺便说一句,user.Id 不为 null 且可用,并且 deletedUser 在代码和数据库中也可用。)
应该如何解释这个错误?我做错了什么?
感谢您的帮助!
【问题讨论】:
标签: entity-framework-core entity-framework-plus