Passando func como parâmetro no erro Linq to Entities e 'Erro interno do .NET Framework Data Provider 1025'

Nós temos uma classe chamada Task:

public partial class Task : EntityObject
{
    public EntityCollection<TaskUser> TaskUsers { get {...} set{...} } 
}

Tem uma propriedade de navegação chamada TaskUsers, que contém usuários anexados a este taks:

public partial class TaskUser : EntityObject
{
    public User User { get {...} set {  } }
}

Todo objeto TaskUser possui objeto User.

Nos é dadoIQueryable<Task> tasks. Queremos encontrar tarefas atribuídas ao usuário com ID = 1. Quando usamos

tasks.Where(t => t.TaskUsers.Any(a => a.User.ID == 1))

tudo funciona bem. Quando nós usamos

Func<TaskUser, bool> function = a => a.User.ID == 1;
return tasks.Where(t => t.TaskUsers.Any(function));

nós ficamos bem'Internal .NET Framework Data Provider error 1025' erro. Por quê? Eu quero construir filtros muito mais complicados usandoExpression classe, mas se eu não posso passar simplesFuncisso não pode ser feito. O que devo fazer?

EDITAR

Talvez

Func<TaskUser, bool> function = a => a.User.ID == 1;
return tasks.Where(t => t.TaskUsers.Any(function));

não funciona, mas

Expression<Func<TaskUser, bool>> expression = a => a.User.ID == 1;
return tasks.Where(t => t.TaskUsers.AsQueryable().Any(expression));

trabalho! Isso é tudo que eu precisava.

questionAnswers(1)

yourAnswerToTheQuestion