J'essaie de faire ce qui suit avec le cadre de l'entité 4:applyCurrentValues ne semble pas fonctionner
public void Update(Site entity)
{
using (db)
{
db.Sites.Attach(db.Sites.Single(s => s.Id == entity.Id));
db.Sites.ApplyCurrentValues(entity);
db.SaveChanges();
}
}
Mais lorsque je tente de mettre à jour un site grâce à cette méthode que je reçois une erreur me disant que:
La conversion d'un type de données datetime2 en un type de données datetime a abouti à dans une valeur hors limites. L'instruction a été interrompue.
Et cela parce que le site d'origine pour une raison quelconque n'est pas chargé via la méthode Attach().
Quelqu'un peut-il aider avec ceci?
/Martin
Vous n'avez pas besoin de joindre une entité chargée. Si vous utilisez le même contexte, il est déjà attaché. Êtes-vous sûr que vos valeurs actuelles ne remplacent pas certaines valeurs chargées avec DateTime.MinValue? –
Lorsque je supprime la pièce jointe(), j'obtiens l'erreur suivante: "Impossible de trouver un objet avec une clé correspondant à la clé de l'objet fourni dans ObjectStateManager.Vérifiez que les valeurs clés de l'objet fourni correspondent aux valeurs clés de l'objet auquel les modifications doivent être appliquées. " Donc, je pense que l'entité n'est plus dans l'objet ObjectState –