不错呦!smile@林凯西,确保“准备文件”中的几个文件都有安装,S...您好,看了您这篇帖子觉得很有帮助。但是有个问题想请...我的修改过了怎么还被恶意注册呢 @jjjjiiii 用PJ快9年了,主要是A...PJ3啊,貌似很少有人用PJ了,现在不是WP就是z...@332347365,我当时接入时错误码没有-10...楼主,ChkValue值应为-103是什么意思呢?...大哥 你最近能看到我发的信息,请跟我联系,我有个制...
今天发现Entity Framework添加记录会返回新记录Id
编辑:dnawo 日期:2012-11-16
复制内容到剪贴板
程序代码

testContext db = new testContext();
Pet cat = new Pet();
cat.Name = "cat";
db.Pets.Add(cat);
db.SaveChanges();
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'
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 | 引用: 0 | 查看次数: 3757
发表评论
请登录后再发表评论!