2

私はLINQが本当に苦手で、簡単な問題を理解できません。コントローラーを持つ MVC Web API があります。コントローラー内に、ユーザーが項目に対して入力したコメントのデータを返すメソッドがあります。

データ構造は単純です - 外部キーとして機能する UserID 列を持つコメントとユーザー テーブル

この問題を解決するために、次のメソッドがあります。これには、コメント テーブルとユーザー テーブルの間で結合を行い、コメントとユーザーの詳細を組み合わせた新しい拡張オブジェクトでオブジェクトを返す LINQ クエリがあります。User テーブルからデータを取得できないようです。誰か助けてくれませんか?

public IQueryable<CommentsWithUserDetails> GetReviewsWithUserByItem(int ID)
    {
        var query = from x in db.Comments
                    join y in db.Users on x.CommentsUserID equals y.UserID into z
                    where x.CommentsItemID.Equals(ID)
                    select new CommentsWithUserDetails
                    {
                        CommentsUserID = x.CommentsUserID,
                        CommentsText = x.CommentsText,
                        CommentsRating = x.CommentsRating,
                        CommentsDate = x.CommentsDate,
                        UserFirstName = y.FirstName,
                        UserLastName = y.LastName,
                        UserPictureURL = y.PictureURL
                    };

        return query;
    }
4

1 に答える 1

4

解決策は、クエリから 'into z' 部分を削除することです。そう簡単です!

@Nileshと@Gert Arnoldが指摘したように

于 2013-08-04T14:28:09.560 に答える