我有一个表用户,它有一个标识列UserID
,现在什么是正确的Linq to Entity代码行,它会返回最大值UserID
?
我试过了:
using (MyDBEntities db = new MyDBEntities()) { var User = db.Users.Last(); // or var User = db.Users.Max(); return user.UserID; }
但似乎Last
并Max
没有得到支持.
有任何想法吗?
这样做
db.Users.OrderByDescending(u => u.UserId).FirstOrDefault();
试试这个
int intIdt = db.Users.Max(u => u.UserId);
更新:
如果没有记录然后使用上面的代码生成异常试试这个
int? intIdt = db.Users.Max(u => (int?)u.UserId);
NisaPrieto
Users user = bd.Users.Where(u=> u.UserAge > 21).Max(u => u.UserID);
因为MAX返回与该字段相同类型的变量,所以在这种情况下是INT而不是User对象.
var max = db.Users.DefaultIfEmpty().Max(r => r == null ? 0 : r.ModelID);
当db中没有记录时,它将返回0,没有异常.