木子屋 Dnawo's BLOG

今天发现Entity Framework添加记录会返回新记录Id

👤 dnawo 📅 2012-11-16 👁 4431 👍 0 💬 0 🔄 来源:本站原创
testContext db = new testContext();
Pet cat = new Pet();
cat.Name = "cat";
db.Pets.Add(cat);
db.SaveChanges();

在SQL Server Profiler跟踪上边程序执行情况时,看到服务器执行SQL语句为:

exec sp_executesql N'insert [dbo].[Pet]([PersonId], [Name])
values (@0, @1)
select [Id]
from [dbo].[Pet]
where @@ROWCOUNT > 0 and [Id] = scope_identity()',N'@0 int,@1 nvarchar(20)',@0=0,@1=N'cat'

很明显,添加记录后马上返回了新记录,这是不是意味着Entity Framework在添加记录后会对实体进行更新?那就可以直接取新记录Id了?测试了下,猜想是正确的:)

评论(0)

暂无评论。

验证码
评论需审核通过后显示
← 上一篇 ASP.NET MVC3 + Entity Framework实… 下一篇 → 站长联盟分成数据库表结构演变