在调用SaveChanges方法之前访问新插入的标识ID

时间:2010-02-11 09:00:33

标签: entity-framework c#-3.0

我正在使用LINQ实体框架,我遇到了在使用过程执行多个操作之前需要访问新插入的Identity记录的情况。 以下是代码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;
        }
    }

在下一个功能中 将调用 quoteContainer.SaveChanges(); 来提交数据库更改。

任何人都可以建议上述方法是否正确吗?

1 个答案:

答案 0 :(得分:1)

到目前为止正确。
记住:在插入发生之前你无法获得IDENTITY!在更新中,您的实体已经拥有IDENTITY(主要是PK