如何获取asp.net MVC中上次保存(最近未保存)行的ID?

时间:2015-12-16 12:55:00

标签: c# asp.net asp.net-mvc entity-framework asp.net-mvc-4

我正在使用Entity Framework学习ASP.Net MVC。我想得到最后保存记录的ID。我已经检查了this,并且当您想要获取最近保存的记录的ID时,接受的答案正常。我需要两天前可能保存的记录。

如何检索?

5 个答案:

答案 0 :(得分:5)

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

如果你想要记录,那么:

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

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

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

答案 1 :(得分:4)

像这样但你会失去一些表现

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

答案 2 :(得分:2)

我假设您正在使用Entity Framework。

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

答案 3 :(得分:2)

您可以尝试使用Max():

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

答案 4 :(得分:1)

我建议您是否要根据日期向相关实体添加其他列来查找记录。

e.g。如果您的实体是' OrderItem'我会

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;