Mic*_* H. 5 linq linq-to-entities entity-framework linq-to-sql
我是Linq的新手,所以我遇到了困难.我想要实现的是:
SELECT id, name, password
FROM users u
WHERE u.id = (SELECT MAX(u1.id) FROM users u1);
Run Code Online (Sandbox Code Playgroud)
我的Linq是:
var dbUsers = from u in context.Users
where u.Id == (context.Users.Max(u1 => u1.Id))
select u;
Run Code Online (Sandbox Code Playgroud)
但我总是以下列例外结束:
无法创建"Bla.Users"类型的常量值.在此上下文中仅支持原始类型(例如Int32,String和Guid').
这是用户类:
public class Users
{
[Key]
public int Id { get; set; }
public string Name { get; set; }
public string Password { get; set; }
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的上下文类:
public class EFDbContext : DbContext
{
public DbSet<User> Users{ get; set; }
}
Run Code Online (Sandbox Code Playgroud)
您需要选择该ID属性
var dbUsers = from u in context.Users
where u.Id == (context.Users.Select(u1 => u1.Id).Max())
select u;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
19958 次 |
| 最近记录: |