0

エンティティからデータを取得して、次のようにviewModelプロパティにデータを入力しようとしています。

viewModel.Enrollments = db.Enrollments.Where(b => b.classDays == "Monday") && (db.Enrollments.Where(b => b.CourseID == courseID);

しかし、エラー&&型のオペランドに演算子を適用できないことがわかりました。System.Linq.IQerable<>同じIDを持つすべての月曜日のクラスを見つける方法を手伝ってもらえますか?

私はこれを試しました: viewModel.Enrollments = db.Enrollments.Where(b => b.classDays == "Monday")しかし、私はすべての月曜日のコースを取得しますが、それらを特定のcourseIDに制限したいと思います。

助けてください!

4

2 に答える 2

3

かっこを調べる必要があります。このコードはコンパイルすらしません:

viewModel.Enrollments = db.Enrollments.Where(b => b.classDays == "Monday")
                    && (db.Enrollments.Where(b => b.CourseID == courseID);

そのコードでは、を返す&&2つの呼び出しの間に使用しようとしています。あなたはおそらく条項内で使用することを意味します:.Where()IQueryable&& .Where()

viewModel.Enrollments = db.Enrollments.Where(b => (b.classDays == "Monday")
                                               && (b.CourseID == courseID));

または、おそらく2番目の.Where()句を追加します。

viewModel.Enrollments = db.Enrollments.Where(b => b.classDays == "Monday")
                                      .Where(b => b.CourseID == courseID);

.Where()は無期限に連鎖する可能性があることに注意してください。基本的ANDに、結果のクエリに各句が順番に適用されます。

于 2012-06-25T03:48:56.200 に答える
0

&&演算子は、登録のセットではなく、内部の条件で使用する必要があります(あなたの場合)

これを試して:

viewModel.Enrollments = db.Enrollments.Where(b => (b.classDays == "Monday") && (b.CourseID == courseID));
于 2012-06-25T03:52:00.190 に答える