我正在使用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(); 来提交数据库更改。
任何人都可以建议上述方法是否正确吗?
答案 0 :(得分:1)
到目前为止正确。
记住:在插入发生之前你无法获得IDENTITY
!在更新中,您的实体已经拥有IDENTITY
(主要是PK
)