Con ef core plus, estoy intentando actualizar un conjunto de filas en mi modelo:
await _context.Set<Critique>()
.Include(c => c.User)
.Where(c => c.Closed && c.User.Id == user.Id)
.UpdateAsync(c => new Critique() { User = deletedUser });
Aquí obtengo la siguiente excepción:
ArgumentNullException: el valor no puede ser nulo. Nombre de parámetro: propiedad Npgsql.EntityFrameworkCore.PostgreSQL.Utilities.Check.NotNull (valor de T, nombre de cadena de parámetro) en Check.cs, línea 21
TargetInvocationException: el destino de una invocación ha generado una excepción. System.RuntimeMethodHandle.InvokeMethod (objetivo de objeto, argumentos de objeto [], firma de firma, constructor de Bool, excepción de wrap de bool
Cuando acabo de cargar los datos con ef core, carga la fila 1 que espero
var test = await _context.Set<Critique>()
.Where(c => c.Closed && c.User.Id == user.Id)
.ToArrayAsync();
El modelo de base de datos no es lujoso, pero es demasiado grande para publicarlo aquí. Estoy usando [Requerido] ampliamente, y hay muchas relaciones de Uno a Muchos.
(Por cierto, user.Id no es nulo y está disponible, y deletedUser también está disponible tanto en el código como en la base de datos).
¿Cómo debe interpretarse este error? ¿Qué estoy haciendo mal?
¡Gracias por tu ayuda!
Nuestra biblioteca puede actualizar el valor pero no puede actualizar el valor utilizando la propiedad de navegación en este momento
Esto no funciona
.UpdateAsync(c => new Critique() { User = deletedUser });
Pero esto hubiera funcionado si tuviera la propiedad.
.UpdateAsync(c => new Critique() { UserID = deletedUserID });
Además, no tiene sentido agregar .Include(c => c.User)
ya que no recupera esta información.