var m = new 你的Model();
db.你的Model.add(m);

db.SaveChange();

Response.Write(m.Id); //执行.SaveChange()保存后就直接可以取得id值了.

保存前没有id值. 

Entity Framework在将数据插入数据库时,如果主键字段是自增标识列,会将该自增值返回给实体对象对应的属性。

比如下面添加博客随笔至数据库的示例代码:

var blogPost = new BlogPost()
{
    Author = "博客园",
    Title = "程序员的网上家园"
};
using (BlogDbContext context = new BlogDbContext())
{
    context.BlogPosts.Add(blogPost);                
    context.SaveChanges();
    return blogPost.ID;
} 

 SaveChanges()之后,blogPost.ID的值就是数据库中对应自增标识列的值。

看一下Entity Framework生成的SQL语句:

1 exec sp_executesql N'insert [dbo].[blog_Content]([Title],[Author])
2 values (@0, @1)
3 select [ID]
4 from [dbo].[blog_Content]
5 where @@ROWCOUNT > 0 and [ID] = scope_identity()',
6 N'@0 nvarchar(128),@1 nvarchar(128),',@0=N'程序员的网上家园',@1=N'博客园'
View Code

相关文章:

  • 2022-12-23
  • 2021-07-08
  • 2022-12-23
  • 2021-12-17
  • 2022-12-23
  • 2022-12-23
  • 2021-11-07
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-06-29
  • 2021-11-25
  • 2022-12-23
  • 2021-08-14
  • 2021-09-20
相关资源
相似解决方案