The loan goes to Joe Ferner :
public static class ObjectQueryExtensionMethods { public static ObjectQuery<T> Include<T>(this ObjectQuery<T> query, Expression<Func<T, object>> exp) { Expression body = exp.Body; MemberExpression memberExpression = (MemberExpression)exp.Body; string path = GetIncludePath(memberExpression); return query.Include(path); } private static string GetIncludePath(MemberExpression memberExpression) { string path = ""; if (memberExpression.Expression is MemberExpression) { path = GetIncludePath((MemberExpression)memberExpression.Expression) + "."; } PropertyInfo propertyInfo = (PropertyInfo)memberExpression.Member; return path + propertyInfo.Name; } }
ctx.Users.Include(u => u.Order.Item)
Nathan Taylor May 23 '11 at 20:57 2011-05-23 20:57
source share