如何在asp.net MVC中获取最后保存的(不是最近保存的)行的ID

本文关键字:保存 最近 ID 行的 最后 asp net MVC 获取 | 更新日期: 2023-09-27 18:27:05

我正在学习带有实体框架的ASP.Net MVC。我想获取上次保存的记录的id。我已经检查过了,当你想获得你最近保存的记录的id时,接受的答案很好。我需要可能早两天保存的记录。

我该如何检索?

如何在asp.net MVC中获取最后保存的(不是最近保存的)行的ID

您想要降序排序,然后获取第一条记录。

如果你想要记录,那么这个:

Person person = db.PersonTable.OrderByDescending(p => p.Id).First();
int personId = person.Id;

或者,您可以选择id,如下所示:

int personId = db.PersonTable.OrderByDescending(p => p.Id).First().Id;

这样,但您将失去一些性能

db.YourTable.OrderBy(x => x.Id).ToList().Last();

我假设您使用的是实体框架。

_context.Users.OrderByDescending(user => user.Id).First();

您可以尝试像这样使用Max():

db.SaveChanges();
int id = db.table.Max(i => i.myId);

我建议您,如果您想查找专门基于日期的记录,请将另一列添加到有问题的实体中。

例如,如果您的实体是"订单项",我会有

public class OrderItem
{
    public int Id { get; set; }
    public DateTime CreatedDateTime { get; set; }
}

然后我会写我的LINQ声明。。。。

var latestOrderItem = db.OrderItem.OrderByDescending(orderItem => orderItem.CreatedDateTime).First();

这应该会给我最新添加的项目。

var latestId = latestOrderItem.Id;