views:

76

answers:

1

I'm using the LINQ Entity Framework and I've came across the scenario where I need to access the newly inserted Identity record before performing multiple operations using procedure. Following is the code sinppet:

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;
        }
    }

In the next function quoteContainer.SaveChanges(); will get called to commit the DB changes.

Can any one suggest whether the above approach is correct?

+1  A: 

correct so far.
remember: you cannot get IDENTITY until insert has occured! on an update, your entity already holds the IDENTITY (mainly PK)

Andreas Niedermair