public static IQueryProvider <RecursionUser> IncludeSecurity(this IQueryProvider <RecursionUser> query) { return(query.WhereSql(x => new Sql(string.Format("exists (select 1 from {1} where Id = {0}.Id)", x.DatabaseType.EscapeTableName(x.GetAliasFor(z => z.CreatedBy)), x.GetPocoDataFor <RecursionUser>().TableInfo.TableName)))); }