¿Cómo incluir tablas relacionadas en DbSet.Find ()?

Si quiero incluir objetos relacionados en una consulta EF7, es agradable y fácil:

var myThing = db.MyThings
                .Include(t => t.RelatedThing)
                .Where(t => t.SomeCondition == true)
                .ToList();

Además, hay un buen método en elDbSet<T> eso facilita cargar un solo objeto por su clave:

var myThing = db.MyThings.Find(thingId);

Pero ahora quiero cargarmyThing por su Id, junto con suRelatedThing. Desafortunadamente (y comprensiblemente).Find() es un método deDbSet<T>noIQueryable<T>. Obviamente podría hacer esto:

var myThing = db.MyThings
                .Include(t => t.RelatedThing)
                .SingleOrDefault(t => t.MyThingId == thingId);

Pero específicamente quiero usar el.Find() método, porque es agradable y genérico y estoy escribiendo un método que carga genéricamente un registro junto con las relaciones "incluidas" especificadas por unExpression<Func<T, object>>.

¿Alguna sugerencia de cómo hacer esto?

Respuestas a la pregunta(2)

Su respuesta a la pregunta