1

我正在尝试这样做:

User user = (User)db.Users.Include("Sports").Where(a => a.UserId == currentUser.UserId);

但是我遇到了演员错误。

如何从数据库中检索用户并转换为用户对象?

解决方案:

User user = db.Users.Include("Sports").Where(a => a.UserId == currentUser.UserId).FirstOrDefault();   

或者

User user = db.Users.Include("Sports").SingleOrDefault(a => a.UserId == currentUser.UserId);            
4

4 回答 4

3

您不需要显式转换。

User user = db.Users.Include("Sports").
              Where(a => a.UserId == currentUser.UserId).FirstOrDefault();

这应该可行, AsssumungUsers是 Type 的属性DbSet<User>

于 2012-05-17T18:24:47.653 回答
2

你可以试试

 User user = (from U in db.Users.Include("Sports") where U.UserID == currentUser.UserID select U).FirstOrDefault()
于 2012-05-17T18:20:19.263 回答
1

我会尝试

     var user = (from U in db.Users.Include("Sports") 
where U.UserID == currentUser.UserID select U).Single();

因为应该只有一个匹配的用户 ID。

于 2012-05-17T20:12:08.500 回答
0

var user = db.Users.Find(currentUser.UserId);

db.Entry(user).Reference("Sports").Load();

于 2016-06-22T13:50:14.390 回答