Pasando func como parámetro en Linq a entidades y error '1025' del proveedor de datos de .NET Framework interno

Tenemos una clase llamada Tarea:

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

Tiene una propiedad de navegación llamada TaskUsers, que contiene usuarios adjuntos a este taks:

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

Cada objeto TaskUser tiene un objeto User.

Se nos daIQueryable<Task> tasks. Queremos encontrar tareas asignadas al usuario con ID = 1. Cuando usamos

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

todo funciona bien Cuando usamos

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

nos ponemos bien'Internal .NET Framework Data Provider error 1025'&nbsp;error. ¿Por qué? Quiero construir filtros mucho más complicados usandoExpression&nbsp;Clase, pero si no puedo pasar lo sencillo.Func, esto no se puede hacer. ¿Qué tengo que hacer?

EDITAR

Tal vez

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

no funciona, pero

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

¡trabajos! Eso es todo lo que necesitaba.