I'm building a set of CRUD screens for a Repository. The member objects are large enough that I'd rather not load lots of them into memory all at once - as when generating search results.

Since all I need for search results are a couple of properties - e.g., "name" and "id" - I *could* just query the underlying database - but I don't want to bypass the repository, since that would negate a lot of its value.

The Repository Pattern intros and tutorials I've found don't cover this scenario. They focus on saving/retrieving/deleting one fully-populated object at a time.

I am familiar with the Proxy pattern for lazy-loading objects. But is that how the big boys do it? Is there a well-established solution to this problem?