首页 > 解决方案 > Linq 查询从表中获取最近插入的 Id

问题描述

我正在尝试从 TaskOrder 表中获取最近插入的 id,以用作创建子任务时的隐藏字段。我的 linq 查询如下,我收到一个我无法弄清楚的匿名类型错误。

public async Task<int> GetLastTaskOrderId()
{
    var result = (from t in _context.TaskOrder
                  select new
                  {
                     TaskorderId = t.TaskOrderId
                  }).MaxAsync();

    return await result;
}

标签: c#linq

解决方案


尝试这个

public async Task<int> GetLastTaskOrderId()
{
    var item = await _context.TaskOrder.OrderBy(u => u.TaskOrderId).LastOrDefaultAsync();
    return  item.TaskOrderId;
}

或者

return  await _context.TaskOrder.MaxAsync(u => u.TaskOrderId); 

我不知道哪个更快,因为主键通常是索引和聚集的。


推荐阅读