使用ASP.NET MVC&;实体框架

本文关键字:实体 框架 amp ASP NET MVC 使用 | 更新日期: 2023-09-27 18:24:20

这里我将为Newstbl获取最后插入的自动递增ID。但在正常情况下,我们可以通过DESCENDING order&获得第一张唱片。

但在这里我使用的是ASP.NET MVC&实体框架,我被困在那里了。NewsId是自动递增Id

我的代码:

public int GetLastInsertedId()
{
        return (from x in context.Newstbl
                orderby x.NewsId 'DESC' 
                select x)
}

使用ASP.NET MVC&;实体框架

如果您已经正确设置了EF映射,那么基本上,当您插入新的NewsTbl对象时,一旦您在上下文中调用.SaveChanges(),自动递增的ID就应该可用。

所以如果你这样做:

using(YourEFContext ctx = new YourEFContext())
{
    NewsTbl news = new NewsTbl();
    // set some properties here on "news".....
    ctx.NewsTbl.Add(news);
    ctx.SaveChanges();
}

那么在调用.SaveChanges()之后,news对象实际上应该已经包含自动递增的ID属性。。。。所以我真的不明白为什么你要经历这么多麻烦,试图读出最后插入的自动增量ID——它已经在你的对象中了。

您可以使用Linq方法查询语法获得这种方法:

public int GetLastInsertedId()
{
   return context.Newstbl.OrderByDescending(x=>x.NewsId).First().NewsId;
}

并使用查询表达式语法:

public int GetLastInsertedId()
{
  return (from x in context.Newstbl 
          select x).OrderByDescending(x=>x.NewsId).First().NewsId;
}