I am new to Linq, so, as expected, I ran into difficulties. I am trying to achieve this:
SELECT id, name, password
FROM users u
WHERE u.id = (SELECT MAX(u1.id) FROM users u1);
My Linq:
var dbUsers = from u in context.Users
where u.Id == (context.Users.Max(u1 => u1.Id))
select u;
But I always end up with the following exception:
Unable to create a constant value of type "Bla.Users". Only primitive types (such as Int32, String, and Guid) are supported in this context.
Here is the user class:
public class Users
{
[Key]
public int Id { get; set; }
public string Name { get; set; }
public string Password { get; set; }
}
}
Here is my context class:
public class EFDbContext : DbContext
{
public DbSet<User> Users{ get; set; }
}
source
share