Przekazywanie func jako parametr w Linq do Entities i błąd „Internal .NET Framework Data Provider error 1025”

Mamy klasę o nazwie Zadanie:

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

Posiada właściwość nawigacyjną o nazwie TaskUsers, która zawiera użytkowników dołączonych do tego zadania:

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

Każdy obiekt TaskUser ma obiekt User.

Dano namIQueryable<Task> tasks. Chcemy znaleźć zadania przypisane do użytkownika o identyfikatorze = 1. Kiedy używamy

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

wszystko dziala. Kiedy używamy

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

jesteśmy mili'Internal .NET Framework Data Provider error 1025' błąd. Czemu? Chcę zbudować znacznie bardziej skomplikowane filtry za pomocąExpression klasa, ale jeśli nie mogę przejść prostoFunc, nie można tego zrobić. Co powinienem zrobić?

EDYTOWAĆ

Może

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

nie działa, ale

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

Prace! To wszystko, czego potrzebowałem.

questionAnswers(1)

yourAnswerToTheQuestion