Ray*_*Ray 75 c# linq linq-to-entities entity-framework
我有一个表用户,它有一个标识列UserID,现在什么是正确的Linq to Entity代码行,它会返回最大值UserID?
我试过了:
using (MyDBEntities db = new MyDBEntities())
{
var User = db.Users.Last();
// or
var User = db.Users.Max();
return user.UserID;
}
Run Code Online (Sandbox Code Playgroud)
但似乎Last并Max没有得到支持.
有任何想法吗?
Jon*_*und 143
这样做
db.Users.OrderByDescending(u => u.UserId).FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)
小智 97
试试这个
int intIdt = db.Users.Max(u => u.UserId);
Run Code Online (Sandbox Code Playgroud)
更新:
如果没有记录然后使用上面的代码生成异常试试这个
int? intIdt = db.Users.Max(u => (int?)u.UserId);
Run Code Online (Sandbox Code Playgroud)
小智 11
NisaPrieto
Users user = bd.Users.Where(u=> u.UserAge > 21).Max(u => u.UserID);
Run Code Online (Sandbox Code Playgroud)
因为MAX返回与该字段相同类型的变量,所以在这种情况下是INT而不是User对象.
Har*_*ani 10
var max = db.Users.DefaultIfEmpty().Max(r => r == null ? 0 : r.ModelID);
Run Code Online (Sandbox Code Playgroud)
当db中没有记录时,它将返回0,没有异常.
| 归档时间: |
|
| 查看次数: |
118763 次 |
| 最近记录: |