C# Linq查询以从表中获取最近插入的Id
我试图从TaskOrder表中获取最近插入的id,以便在创建子任务时用作隐藏字段。下面是我的linq查询,我得到了一个无法识别的匿名类型错误C# Linq查询以从表中获取最近插入的Id,c#,linq,C#,Linq,我试图从TaskOrder表中获取最近插入的id,以便在创建子任务时用作隐藏字段。下面是我的linq查询,我得到了一个无法识别的匿名类型错误 public async Task<int> GetLastTaskOrderId() { var result = (from t in _context.TaskOrder select new { TaskorderI
public async Task<int> GetLastTaskOrderId()
{
var result = (from t in _context.TaskOrder
select new
{
TaskorderId = t.TaskOrderId
}).MaxAsync();
return await result;
}
公共异步任务GetLastTaskOrderId()
{
var result=(来自_context.TaskOrder中的t
选择新的
{
TaskorderId=t.TaskorderId
}).maxancy();
返回等待结果;
}
试试这个
public async Task<int> GetLastTaskOrderId()
{
var item = await _context.TaskOrder.OrderBy(u => u.TaskOrderId).LastOrDefaultAsync();
return item.TaskOrderId;
}
我不知道哪个更快,因为素数键通常是索引和聚集的。将最后一行更改为
return wait result.TaskOrderId代码>这将在并发环境中造成很多麻烦。@WiktorZychla是的,我还需要按用户ID进行筛选think@RJC:按用户筛选可能会有所帮助,但为什么不使用数据库返回新插入的I'd?
return await _context.TaskOrder.MaxAsync(u => u.TaskOrderId);