linq2sql: Impossible d'ajouter une entité avec une clé qui est déjà en cours d'utilisation

J'ai un linq2sql de l'installation où les objets sont envoyés à partir du côté client (flex via flourinefx) et l'attacher à un nouveau datacontext a vu ci-dessous:

J'ai aussi un "global" datacontext qui est utilisé tout au long de la session.

    public static void Update(Enquiry enquiry)
    {
        OffertaDataContext db = new OffertaDataContext();


        db.Enquiries.Attach(enquiry);
        db.Refresh(RefreshMode.KeepCurrentValues, enquiry);

        db.SubmitChanges();
    }

Cette approche fonctionne généralement bien, mais après un certain temps, je reçois le message d'erreur "Impossible d'ajouter une entité avec une clé qui est déjà en cours d'utilisation".

C'est peut-être le moins d'erreur descriptif que j'ai vu mais dans LINQ. Ugh. SQL donne une meilleure erreur dans ce cas? Wow.

OriginalL'auteur Niels Bosma | 2009-01-07