Проблема в том, что matchedSol
не относится к типу IEnumerable<Solution>
. Я был бы удивлен, если бы ваш код даже компилировался.
Что вам нужно, так это (в примере используются объекты LINQ2Object, но это не имеет значения):
static void Main()
{
var questions = new[]
{
new { QuestionID = 1, QuestionText = "ABCDEF" },
new { QuestionID = 2, QuestionText = "GHIJKL" },
new { QuestionID = 3, QuestionText = "ABCXYZ" },
};
var solutions = new[]
{
new { QuestionID = 1, Solution = "P" },
new { QuestionID = 1, Solution = "Q" },
new { QuestionID = 2, Solution = "R" },
new { QuestionID = 3, Solution = "S" },
new { QuestionID = 3, Solution = "T" },
new { QuestionID = 4, Solution = "U" },
};
var qTextInput = "ABC";
var matchedSol = from q in questions
where q.QuestionText.Contains(qTextInput)
join s in solutions
on q.QuestionID equals s.QuestionID
select s;
foreach (var solution in matchedSol)
{
Console.WriteLine("Solution " + solution.Solution +
" for question " + solution.QuestionID);
}
}
Результат выражения LINQ можно перечислить с четырьмя решениями: P
, Q
, S
и T
. Это перечислимое можно передать вашему DeleteOnSubmit
методу.