Entity Framework SaveChanges() pas de mise à jour de la base de données

var paymentAttempt = _auctionContext.PaymentAttempts.Where(o => o.Id == paymentAttemptId).SingleOrDefault();
if (paymentAttempt != null)
{
    paymentAttempt.PaymentAttemptStatusId = (int)PaymentAttemptStatus.Defunct;
    paymentAttempt.PaymentAttemptStatus = _auctionContext.PaymentAttemptStatuses.Where(pas => pas.Id == paymentAttempt.PaymentAttemptStatusId).First();

    var relevantWinningBidsTotalPrices = _auctionContext.GetWinningBidsTotalPricesForPaymentAttempt(paymentAttemptId).ToArray();

    foreach (var winningBid in relevantWinningBidsTotalPrices)
    {
        winningBid.Locked = false;
        _auctionContext.UpdateObject(winningBid);
    }
    _auctionContext.SaveChanges();
}

Dans le code ci-dessus après

_auctionContext.SaveChanges();

est appelé winningBid est mis à jour comme prévu mais paymentAttempt ne l'est pas. Pourquoi est-ce? C'est vraiment frustrant. Il n'y a pas d'erreur non plus. Je m'attends à une incapacité à se produire s'il y avait un problème comme EF n'était pas le suivi de l'objet ou quelque chose comme ça, mais pas une telle erreur se produit.

Utilisation Joindre pour obtenir votre nouvelle entité dans le contexte .Avant de vous enregistrer. Le contexte n'avait aucune idée de quoi vous parlez.

OriginalL'auteur Sachin Kainth | 2013-02-13