Le moyen le plus efficace de mise à jour avec LINQ to SQL

Puis-je mettre à jour mon dossier employé comme donné dans la fonction ci-dessous ou dois-je faire une requête de l'employé de la collection en premier et ensuite mettre à jour les données?

  public int updateEmployee(App3_EMPLOYEE employee)
  {
      DBContextDataContext db = new DBContextDataContext();
      db.App3_EMPLOYEEs.Attach(employee);
      db.SubmitChanges();
      return employee.PKEY;
  }

Ou dois-je faire la suite?

public int updateEmployee(App3_EMPLOYEE employee)
{
    DBContextDataContext db = new DBContextDataContext();
    App3_EMPLOYEE emp = db.App3_EMPLOYEEs.Single(e => e.PKEY == employee.PKEY);
    db.App3_EMPLOYEEs.Attach(employee,emp);
    db.SubmitChanges();
    return employee.PKEY;
}

Mais je ne veux pas utiliser la deuxième option. Est-il un moyen efficace de mise à jour des données?

J'obtiens cette erreur par l'utilisation de deux façons:

Une tentative a été faite pour Attacher ou d'Ajouter une entité qui n'est pas nouveau, peut-être d'avoir été chargé d'une autre DataContext. Ce n'est pas pris en charge.

  • dans la deuxième méthode vous attachez de l'entité de contexte, car il est déjà rempli à partir d'elle. Appelez simplement SubmitChanges()
InformationsquelleAutor Pranay Rana | 2010-05-20