In LinqKit I added a check for anonymous class to ExpressionExpander.VisitMemberAccess() to get anonymous classes to work.
relpaced
if (m.Member.DeclaringType.Name.StartsWith ("<>"))
return TransformExpr (m);
with
string typeName = m.Member.DeclaringType.Name;
bool isAnonymous = typeName.StartsWith("<>f__AnonymousType"),
isOuter = !isAnonymous && typeName.StartsWith("<>");
if (isOuter)
return TransformExpr (m);