Reputation: 1588
I'm trying to do this:
User user = (User)db.Users.Include("Sports").Where(a => a.UserId == currentUser.UserId);
But I'm getting a cast error.
How can I retrieve a user from database and cast to an user object ?
SOLUTION:
User user = db.Users.Include("Sports").Where(a => a.UserId == currentUser.UserId).FirstOrDefault();
or
User user = db.Users.Include("Sports").SingleOrDefault(a => a.UserId == currentUser.UserId);
Upvotes: 1
Views: 323
Reputation: 1
var user = db.Users.Find(currentUser.UserId);
db.Entry(user).Reference("Sports").Load();
Upvotes: 0
Reputation: 26
I would try
var user = (from U in db.Users.Include("Sports")
where U.UserID == currentUser.UserID select U).Single();
Since there should only be one matching userID.
Upvotes: 1
Reputation: 18237
you could try
User user = (from U in db.Users.Include("Sports") where U.UserID == currentUser.UserID select U).FirstOrDefault()
Upvotes: 2
Reputation: 218722
You don't need to explicitly cast.
User user = db.Users.Include("Sports").
Where(a => a.UserId == currentUser.UserId).FirstOrDefault();
This should work, Asssumung Users
is a Property of Type DbSet<User>
.
Upvotes: 3