私はこのスニペットを持っています。
List<Frames> FrameList;
ここで、Framesは、文字列フィールド「ExerciseID」を含むプリミティブのみを含むクラスです。
...
void GetFramesForExercise(string exerciseID)
....
if (exerciseID == "3.2.2") {
Console.Write(""); } // quick and dirty to add a breakpoint
if (FramesList[115].ExerciseID.Equals(exerciseID)) {
Console.Write(""); } // quick and dirty to add a breakpoint
frames = (Frames)FramesList.Single(r => r.ExerciseID.Equals(exerciseID));
console.writeステートメントにブレークポイントを設定することにより、exerciseIDが実際に「3.2.2」に等しく、FramesList[115]がIDが「3.2.2」に等しいExerciseのインスタンスを指していることがわかります。示されたインスタンスは正しく初期化されます。
クエリがInvalidOperationExceptionをスローするのはなぜですか?