none
Error Actualizando EF 6 RRS feed

  • Pregunta

  • Buenas Tardes.

    Tengo un error en el Update, con EF 6 el cual no logro resolver, seria de gran ayuda que alguien me de una pista que podria ser. 

    mis metodos son los siguientes.

        public bool Existe(int codigo)   //Chequeo si existe para ver si es un update o create 
            {
                int result = db.Usuarios.Where(x => x.cod_usuario == codigo).Count();
                if (result == 0)
                    return false;
                else
                    return true;
            }

            public void CreateUpdate(Usuarios u)
            {
                if (Existe(u.cod_usuario))
                    Create(u);
                else
                    Update(u);
                
            }
            
                public void Update(Usuarios u)
            {
                db.Usuarios.Attach(db.Usuarios.SingleOrDefault(c => c.cod_usuario == u.cod_usuario));
                db.Entry(u).CurrentValues.SetValues(u);
                db.SaveChanges();
                MessageBox.Show("Usuario actualizado!!");
            }

            public void Create(Usuarios u)
            {
                db.Usuarios.Add(u);
                db.SaveChanges();
                MessageBox.Show("Usuario creado!!");

            }

    El error es este 

    Desde ya muchas gracias.

    Saludos

    Matias

    miércoles, 5 de octubre de 2016 22:07

Todas las respuestas

  • Hola

    public void InsertOrUpdate(Empleado entity)
            {
                using (var context = new PosContext())
                {
                    if (entity.EmpleadoId == default(int))
                    {
                        bool exist = Exist(o => o.Nombre == entity.Nombre);
                        if(exist)
                            throw new ArgumentException("El Empleado, que intenta registrar ya existe.");
                        else
                        {
                            context.Empleados.Add(entity);
                            context.SaveChanges();
                        }
                    }
                    else
                    {   //UPDATE
                        context.Entry(entity).State = EntityState.Modified;
                        context.SaveChanges();
                    }
                }
            }


    Pedro Ávila
    "El hombre sabio querrá estar siempre con quien sea mejor que él."
    Lima - Perú


    • Editado Pedro Ávila miércoles, 5 de octubre de 2016 23:10 ...
    miércoles, 5 de octubre de 2016 23:00
  • Hola

    Pueba con este código

    public void Update(Usuarios u)
            {
                db.Usuarios.Entry(u).State = EntityState.Modified;
                db.SaveChanges();
    	}


    Pedro Ávila
    "El hombre sabio querrá estar siempre con quien sea mejor que él."
    Lima - Perú


    • Editado Pedro Ávila jueves, 6 de octubre de 2016 1:50 ...
    jueves, 6 de octubre de 2016 1:49