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はタイプのプロパティです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

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.

于 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 に答える