Buenas a todos,
He descubierto hace poco el método Attach y me parece bastante útil, aunque me he encontrado con algún problema al querer cambiar el valor del campo de un cliente que hace de FK con una tabla de tarifas.
Primeramente, he necesitado hacer lo que veis en el primer 'if' para que se asigne la tarifa correctamente, ya que parece que hay que definirle bien la relación para poder usar el método Attach.
Pero ahora me encuentro con que cuando le paso null en ese campo (el campo admite null), me salta un error que dice:
Se produjo una infracción de una restricción de integridad referencial: los valores de propiedad que definen las restricciones referenciales no son coherentes entre los objetos principal y dependiente de la relación.
Cualquier idea será bienvenida :)
Este es el código:
if (cliente.TariCodi.HasValue)
{
cliente.Tarifa = new Tarifa() { TariCodi = cliente.TariCodi.Value };
}
//context.Attach(cliente);
context.Clientes.Attach(cliente);
context.ObjectStateManager.ChangeObjectState(cliente, System.Data.EntityState.Modified);
conn.SaveChanges();
Muchas gracias!
Carlos.