如何找到任何表的最大ID.

nik*_*naz 0 c# linq

我想要这样的东西:

    public int NumberStudent()
    {
        int i = 0;
        if (db.Tbl_Student.ToList().Count() > 0)
            i = db. Tbl_Student.Max(d => d.id);
        return i;
     }
Run Code Online (Sandbox Code Playgroud)

但是,我想在任何表格上使用它:

   public int FindMaxId(string TableName)
     {
       int i =0;
        if ('db.'+TableName+'.ToList().Count() > 0' )
           i = db. TableName.Max(d => d.id);
        return i ;
     }
Run Code Online (Sandbox Code Playgroud)

我知道这是错的,但我不知道该怎么做.

Tim*_*lds 9

您可以使用IEnumerable/ IQueryableextension方法DefaultIfEmpty.

var maxId = db.Tbl_Student.Select(x => x.Id).DefaultIfEmpty(0).Max();
Run Code Online (Sandbox Code Playgroud)

一般来说,如果你这样做Q.DefaultIfEmpty(D),就意味着:

如果Q不是空的,请给我Q; 否则,给我[ D ].