Expression tree for the following query:
from user in users
where user.IsActive
from task in user.Tasks
where task.Project.Owners.Contains(user) &&
task.DueDate < DateTime.Now &&
task.Completed == false
select new { task.Title, task.Status, user.UserName };
- MethodCallExpression
- Method : MethodInfo : "Select<<>f__AnonymousType0, <>f__AnonymousType1>"<
- Arguments : ReadOnlyCollection
- MethodCallExpression
- Method : MethodInfo : "Where<<>f__AnonymousType0>"<
- Arguments : ReadOnlyCollection
- MethodCallExpression
- Method : MethodInfo : "SelectMany< Task,>f__AnonymousType0>"<
- Arguments : ReadOnlyCollection
- MethodCallExpression
- Method : MethodInfo : "Where"<
- Arguments : ReadOnlyCollection
- ConstantExpression
- Value : Object : "LINQConsoleApplication1.User[]"
- NodeType : ExpressionType : "Constant"
- Type : Type : "EnumerableQuery"
- UnaryExpression
- Operand : ExpressionLambda
- Expression>
- Body : ExpressionMemberAccess
- MemberExpression
- Expression : ExpressionParameter
- ParameterExpression
- Name : String : "user"
- NodeType : ExpressionType : "Parameter"
- Type : Type : "User"
- Member : MemberInfo : "Boolean IsActive"
- NodeType : ExpressionType : "MemberAccess"
- Type : Type : "Boolean"
- Parameters : ReadOnlyCollection
- ParameterExpression
- Name : String : "user"
- NodeType : ExpressionType : "Parameter"
- Type : Type : "User"
- NodeType : ExpressionType : "Lambda"
- Type : Type : "Func"
- Method : MethodInfo : null
- IsLifted : Boolean : "False"
- IsLiftedToNull : Boolean : "False"
- NodeType : ExpressionType : "Quote"
- Type : Type : "Expression>"
- NodeType : ExpressionType : "Call"
- Type : Type : "IQueryable"
- UnaryExpression
- Operand : ExpressionLambda
- Expression>>
- Body : ExpressionMemberAccess
- MemberExpression
- Expression : ExpressionParameter
- ParameterExpression
- Name : String : "user"
- NodeType : ExpressionType : "Parameter"
- Type : Type : "User"
- Member : MemberInfo : "System.Collections.Generic.IEnumerable`1[LINQConsoleApplication1.Task] Tasks"
- NodeType : ExpressionType : "MemberAccess"
- Type : Type : "IEnumerable"
- Parameters : ReadOnlyCollection
- ParameterExpression
- Name : String : "user"
- NodeType : ExpressionType : "Parameter"
- Type : Type : "User"
- NodeType : ExpressionType : "Lambda"
- Type : Type : "Func>"
- Method : MethodInfo : null
- IsLifted : Boolean : "False"
- IsLiftedToNull : Boolean : "False"
- NodeType : ExpressionType : "Quote"
- Type : Type : "Expression>>"
- UnaryExpression
- Operand : ExpressionLambda
- Expression< Task,>f__AnonymousType0>>
- Body : ExpressionNew
- NewExpression
- Constructor : ConstructorInfo : "Void .ctor(LINQConsoleApplication1.User, LINQConsoleApplication1.Task)"
- Arguments : ReadOnlyCollection
- ParameterExpression
- Name : String : "user"
- NodeType : ExpressionType : "Parameter"
- Type : Type : "User"
- ParameterExpression
- Name : String : "task"
- NodeType : ExpressionType : "Parameter"
- Type : Type : "Task"
- Members : ReadOnlyCollection
- NodeType : ExpressionType : "New"
- Type : Type : "<>f__AnonymousType0"
- Parameters : ReadOnlyCollection
- ParameterExpression
- Name : String : "user"
- NodeType : ExpressionType : "Parameter"
- Type : Type : "User"
- ParameterExpression
- Name : String : "task"
- NodeType : ExpressionType : "Parameter"
- Type : Type : "Task"
- NodeType : ExpressionType : "Lambda"
- Type : Type : "Func< Task,>f__AnonymousType0>"
- Method : MethodInfo : null
- IsLifted : Boolean : "False"
- IsLiftedToNull : Boolean : "False"
- NodeType : ExpressionType : "Quote"
- Type : Type : "Expression< Task,>f__AnonymousType0>>"
- NodeType : ExpressionType : "Call"
- Type : Type : "IQueryable<<>f__AnonymousType0>"
- UnaryExpression
- Operand : ExpressionLambda
- Expression<<>f__AnonymousType0, Boolean>>
- Body : ExpressionAndAlso
- BinaryExpression
- Left : ExpressionAndAlso
- BinaryExpression
- Left : ExpressionCall
- MethodCallExpression
- Method : MethodInfo : "Contains"<
- Arguments : ReadOnlyCollection
- MemberExpression
- Expression : ExpressionMemberAccess
- MemberExpression
- Expression : ExpressionMemberAccess
- MemberExpression
- Expression : ExpressionParameter
- ParameterExpression
- Name : String : "<>h__TransparentIdentifier0"
- NodeType : ExpressionType : "Parameter"
- Type : Type : "<>f__AnonymousType0"
- Member : MemberInfo : "LINQConsoleApplication1.Task task"
- NodeType : ExpressionType : "MemberAccess"
- Type : Type : "Task"
- Member : MemberInfo : "LINQConsoleApplication1.Project Project"
- NodeType : ExpressionType : "MemberAccess"
- Type : Type : "Project"
- Member : MemberInfo : "System.Collections.Generic.IEnumerable`1[LINQConsoleApplication1.User] Owners"
- NodeType : ExpressionType : "MemberAccess"
- Type : Type : "IEnumerable"
- MemberExpression
- Expression : ExpressionParameter
- ParameterExpression
- Name : String : "<>h__TransparentIdentifier0"
- NodeType : ExpressionType : "Parameter"
- Type : Type : "<>f__AnonymousType0"
- Member : MemberInfo : "LINQConsoleApplication1.User user"
- NodeType : ExpressionType : "MemberAccess"
- Type : Type : "User"
- NodeType : ExpressionType : "Call"
- Type : Type : "Boolean"
- Right : ExpressionLessThan
- BinaryExpression
- Left : ExpressionMemberAccess
- MemberExpression
- Expression : ExpressionMemberAccess
- MemberExpression
- Expression : ExpressionParameter
- ParameterExpression
- Name : String : "<>h__TransparentIdentifier0"
- NodeType : ExpressionType : "Parameter"
- Type : Type : "<>f__AnonymousType0"
- Member : MemberInfo : "LINQConsoleApplication1.Task task"
- NodeType : ExpressionType : "MemberAccess"
- Type : Type : "Task"
- Member : MemberInfo : "System.DateTime DueDate"
- NodeType : ExpressionType : "MemberAccess"
- Type : Type : "DateTime"
- Right : ExpressionMemberAccess
- MemberExpression
- Expression : Expression : null
- Member : MemberInfo : "System.DateTime Now"
- NodeType : ExpressionType : "MemberAccess"
- Type : Type : "DateTime"
- Method : MethodInfo : "op_LessThan"
- Conversion : LambdaExpression : null
- IsLifted : Boolean : "False"
- IsLiftedToNull : Boolean : "False"
- NodeType : ExpressionType : "LessThan"
- Type : Type : "Boolean"
- Method : MethodInfo : null
- Conversion : LambdaExpression : null
- IsLifted : Boolean : "False"
- IsLiftedToNull : Boolean : "False"
- NodeType : ExpressionType : "AndAlso"
- Type : Type : "Boolean"
- Right : ExpressionEqual
- BinaryExpression
- Left : ExpressionMemberAccess
- MemberExpression
- Expression : ExpressionMemberAccess
- MemberExpression
- Expression : ExpressionParameter
- ParameterExpression
- Name : String : "<>h__TransparentIdentifier0"
- NodeType : ExpressionType : "Parameter"
- Type : Type : "<>f__AnonymousType0"
- Member : MemberInfo : "LINQConsoleApplication1.Task task"
- NodeType : ExpressionType : "MemberAccess"
- Type : Type : "Task"
- Member : MemberInfo : "Boolean Completed"
- NodeType : ExpressionType : "MemberAccess"
- Type : Type : "Boolean"
- Right : ExpressionConstant
- ConstantExpression
- Value : Object : "False"
- NodeType : ExpressionType : "Constant"
- Type : Type : "Boolean"
- Method : MethodInfo : null
- Conversion : LambdaExpression : null
- IsLifted : Boolean : "False"
- IsLiftedToNull : Boolean : "False"
- NodeType : ExpressionType : "Equal"
- Type : Type : "Boolean"
- Method : MethodInfo : null
- Conversion : LambdaExpression : null
- IsLifted : Boolean : "False"
- IsLiftedToNull : Boolean : "False"
- NodeType : ExpressionType : "AndAlso"
- Type : Type : "Boolean"
- Parameters : ReadOnlyCollection
- ParameterExpression
- Name : String : "<>h__TransparentIdentifier0"
- NodeType : ExpressionType : "Parameter"
- Type : Type : "<>f__AnonymousType0"
- NodeType : ExpressionType : "Lambda"
- Type : Type : "Func<<>f__AnonymousType0, Boolean>"
- Method : MethodInfo : null
- IsLifted : Boolean : "False"
- IsLiftedToNull : Boolean : "False"
- NodeType : ExpressionType : "Quote"
- Type : Type : "Expression<<>f__AnonymousType0, Boolean>>"
- NodeType : ExpressionType : "Call"
- Type : Type : "IQueryable<<>f__AnonymousType0>"
- UnaryExpression
- Operand : ExpressionLambda
- Expression<<>f__AnonymousType0, <>f__AnonymousType1>>
- Body : ExpressionNew
- NewExpression
- Constructor : ConstructorInfo : "Void .ctor(System.String, System.String, System.String)"
- Arguments : ReadOnlyCollection
- MemberExpression
- Expression : ExpressionMemberAccess
- MemberExpression
- Expression : ExpressionParameter
- ParameterExpression
- Name : String : "<>h__TransparentIdentifier0"
- NodeType : ExpressionType : "Parameter"
- Type : Type : "<>f__AnonymousType0"
- Member : MemberInfo : "LINQConsoleApplication1.Task task"
- NodeType : ExpressionType : "MemberAccess"
- Type : Type : "Task"
- Member : MemberInfo : "System.String Title"
- NodeType : ExpressionType : "MemberAccess"
- Type : Type : "String"
- MemberExpression
- Expression : ExpressionMemberAccess
- MemberExpression
- Expression : ExpressionParameter
- ParameterExpression
- Name : String : "<>h__TransparentIdentifier0"
- NodeType : ExpressionType : "Parameter"
- Type : Type : "<>f__AnonymousType0"
- Member : MemberInfo : "LINQConsoleApplication1.Task task"
- NodeType : ExpressionType : "MemberAccess"
- Type : Type : "Task"
- Member : MemberInfo : "System.String Status"
- NodeType : ExpressionType : "MemberAccess"
- Type : Type : "String"
- MemberExpression
- Expression : ExpressionMemberAccess
- MemberExpression
- Expression : ExpressionParameter
- ParameterExpression
- Name : String : "<>h__TransparentIdentifier0"
- NodeType : ExpressionType : "Parameter"
- Type : Type : "<>f__AnonymousType0"
- Member : MemberInfo : "LINQConsoleApplication1.User user"
- NodeType : ExpressionType : "MemberAccess"
- Type : Type : "User"
- Member : MemberInfo : "System.String UserName"
- NodeType : ExpressionType : "MemberAccess"
- Type : Type : "String"
- Members : ReadOnlyCollection
- NodeType : ExpressionType : "New"
- Type : Type : "<>f__AnonymousType1"
- Parameters : ReadOnlyCollection
- ParameterExpression
- Name : String : "<>h__TransparentIdentifier0"
- NodeType : ExpressionType : "Parameter"
- Type : Type : "<>f__AnonymousType0"
- NodeType : ExpressionType : "Lambda"
- Type : Type : "Func<<>f__AnonymousType0, <>f__AnonymousType1>"
- Method : MethodInfo : null
- IsLifted : Boolean : "False"
- IsLiftedToNull : Boolean : "False"
- NodeType : ExpressionType : "Quote"
- Type : Type : "Expression<<>f__AnonymousType0, <>f__AnonymousType1>>"
- NodeType : ExpressionType : "Call"
- Type : Type : "IQueryable<<>f__AnonymousType1>"