Queries with non-hollow Objects

Normally the objects returned by a query are in hollow state. See the chapter Hollow Objects and Prefetches for details. This can be changed with a version of NewQuery() that receives a third parameter. If you set this parameter to false the object itself is fetched with all its data:

Query q = pm.NewQuery(typeof(Employee), "FirstName LIKE 'Hans'", false);

Note that child objects in this query are still loaded in hollow state. To load child objects too, use the prefetches:

q.Prefetches.Add(qh.travels);

This causes the query to load the Travel child objects as non-hollow objects.