首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用Entity Framework获取插入记录的id

如何使用Entity Framework获取插入记录的id
EN

Stack Overflow用户
提问于 2018-07-04 14:17:56
回答 4查看 9.4K关注 0票数 0

我对Asp.net中的实体框架有一个问题。每当我向SQL数据库表添加一条记录时,我都希望获得ID值。我该怎么做呢?下面是我的代码:

StoredProcedure 



USE [Sapphiresworld]
GO
/****** Object:  StoredProcedure [dbo].[addProduct]    Script Date: 7/4/2018 10:25:41 AM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER Proc [dbo].[addProduct]
@title nvarchar(250),
@price nvarchar(50),
@unitID int,
@date nvarchar(50),
@subCategoryID  int,
@brandID int,
@vat int,
@discount int,
@picture nvarchar(50),
@stock int
as
declare @MyVal int=0
INSERT into [PRODUCT] values (@title,
@price ,
@unitID,
@date,
@subCategoryID  ,
@brandID ,
@vat ,
@discount ,
@picture ,
@stock)
Set @MyVal = @@IDENTITY
Select @MyVal as Val

这是ClsBrand

        public string AddBrand(string brandName)
   {
   var result = new SapphiresworldEntities().AddBrand(brandName).ToString();

        return result;       
   }

针对保存按钮的代码

  protected void Btnsave_Click(object sender, EventArgs e)
{
            clsBrand nb = new clsBrand();
      string nwBran = nb.AddBrand(relig.Text);

}
EN

回答 4

Stack Overflow用户

发布于 2018-07-04 15:01:05

插入记录后,ID值将自动填充。您只需像从objectname.Id中获取值一样。

票数 2
EN

Stack Overflow用户

发布于 2018-07-04 14:33:11

一旦您在实体框架中调用了保存更改的方法,ID将自动填充(假设您的表中有ID作为标识列)

票数 1
EN

Stack Overflow用户

发布于 2018-07-04 15:16:16

根据上面的回答,在插入记录后,id值将自动填充。

下面是一个示例。

您的DataModel类ex。

public class MyDataModel
{
    [Key]
    public int Id {get; set;}
    public string TestData {get; set;}
}

当您打算使用实体框架插入数据时,请使用以下代码

public bool SaveMethodInDataBase(MyDataModel myDataModel)
{
     MyDataModel result = _dbContext.MyDataModel.Add(myDataModel);
     _dbContext.SaveChanges();
}

然后,此result将返回Id为的数据。在这里_dbContext是你的EntityFrameWork SPContext,如果你创建的话。

尝尝这个。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51166950

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档