ef 核心加上:ArgumentNullException:值不能为 null。参数名称:属性
ef core plus: ArgumentNullException: Value cannot be null. Parameter name: property
使用 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: Value cannot be null.
Parameter name: property
Npgsql.EntityFrameworkCore.PostgreSQL.Utilities.Check.NotNull(T value, string parameterName) in Check.cs, line 21
TargetInvocationException: Exception has been thrown by the target of an invocation.
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();
数据库模型没什么特别的,但是对于 post 来说太大了。我广泛使用 [Required],并且有很多一对多关系。
(顺便说一句,user.Id 不为 null 且不可用,并且 deletedUser 在代码和数据库中也可用。)
应该如何解释这个错误?我做错了什么?
感谢您的帮助!
我们的库可以更新值,但目前无法使用导航更新值属性
这行不通
.UpdateAsync(c => new Critique() { User = deletedUser });
但是如果你有 属性
.UpdateAsync(c => new Critique() { UserID = deletedUserID });
此外,添加 .Include(c => c.User)
也没有意义,因为您不会检索此信息。
使用 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: Value cannot be null. Parameter name: property Npgsql.EntityFrameworkCore.PostgreSQL.Utilities.Check.NotNull(T value, string parameterName) in Check.cs, line 21
TargetInvocationException: Exception has been thrown by the target of an invocation. 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();
数据库模型没什么特别的,但是对于 post 来说太大了。我广泛使用 [Required],并且有很多一对多关系。
(顺便说一句,user.Id 不为 null 且不可用,并且 deletedUser 在代码和数据库中也可用。)
应该如何解释这个错误?我做错了什么?
感谢您的帮助!
我们的库可以更新值,但目前无法使用导航更新值属性
这行不通
.UpdateAsync(c => new Critique() { User = deletedUser });
但是如果你有 属性
.UpdateAsync(c => new Critique() { UserID = deletedUserID });
此外,添加 .Include(c => c.User)
也没有意义,因为您不会检索此信息。