Dynamic query supports the ability to run partial queries. This allows you to define a set of properties that you want to return, rather than returning a fully inflated IObject. Columns can be defined as an IEnumerable(Of ResultColumn).
The ResultColumns are very similar to the column sets used elsewhere in SmartPlant Foundation. You define the property definition UID and the display name you want to give to that property definition UID. You can also set a navigation path if the property is on an object on the end of a relationship.
To execute your query as partial objects you can run the following example query:
lobjDynamicQuery.ExecuteToPartialResult(lcolColsOfInterest)