Чтобы исправить это, используйте временную переменную:
var tmp = aa[i];
...
m => m.PresId == tmp
В вашем предложении where у вас есть
m => m.PresId == aa[i]
, который является способом выражения лямбда-выражения. Когда это преобразуется в выражение, а затем преобразуется в запрос в вашей базе данных, он находит aa[i]
, который является индексом в массиве. т.е. он не рассматривает это как константу . Поскольку перевод индексатора на язык вашей базы данных невозможен, выдает ошибку.