Почему я получаю внутреннюю ошибку поставщика данных .NET Framework 1025 при передаче метода куда?

#entity-framework #entity-framework-6.1

#entity-framework #entity-framework-6.1

Вопрос:

У меня есть метод, который принимает общий TEntity, который переопределен. Его подпись выглядит следующим образом:

 public virtual Expression<Func<AclProject, bool>> ProjectFilter(params TEntity[] objs)
    {
        return (p) => objs.Select(o => o.ID).Contains(p.ID);
    }
 

Затем я фильтрую запрос на основе этого:

 from p in db.SomeDbSet where db.AclProjects.Where(ProjectFilter(p)).Any() select p
 

Это приводит к ошибке 1025. (обратите внимание, что не имеет значения, что такое тело ProjectFilter, ошибка все равно возникает.

Есть идеи, почему?

Спасибо!

Комментарии:

1. Не многим людям будет предложено проанализировать незавершенный код. Сначала попробуйте вернуть что-то значимое.

2. Например, что я пропустил? Я не могу предоставить реальный код, поэтому я написал образец, который воспроизводит проблему. Тело фильтра проекта — это простая одна строка (p) => p.X = obj.X и ничего больше.