2010-02-11 2 views
1

J'utilise LINQ Entity Framework et je suis tombé sur le scénario où j'ai besoin d'accéder à l'enregistrement Identity nouvellement inséré avant d'effectuer plusieurs opérations en utilisant la procédure. Voici le code sinppet:Obtenir l'accès à Identity ID nouvellement inséré avant que la méthode SaveChanges soit appelée

public void SaveQuote(Domain.Quote currentQuote) 
    { 
     try 
     { 
      int newQuoteId; 
      //Add quote and quoteline details to db 
      if (currentQuote != null) 
      { 
       using (QuoteContainer quoteContainer = new QuoteContainer()) 
       { 
        **quoteContainer.AddToQuote(currentQuote);** 

        newQuoteId = currentQuote.QuoteId; 
       } 
      } 
      else return; 

      // Execution of some stored Procedure by using above newly generated QuoteId 

     } 
     catch (Exception ex) 
     { 
      throw ex; 
     } 
    } 

Dans la fonction suivante quoteContainer.SaveChanges(); sera appelé pour valider les modifications de base de données. Est-ce que quelqu'un peut suggérer si l'approche ci-dessus est correcte?

Répondre

1

correct jusqu'à présent. Rappelez-vous: vous ne pouvez pas obtenir IDENTITY jusqu'à ce que l'insertion se soit produite! sur une mise à jour, votre entité détient déjà le IDENTITY (principalement PK)

Questions connexes