Учитывая запрос к DbSet EntityFramework, где целевой объект содержит BigProperty и SmallProperty,
Когда вы пытаетесь получить доступ только к SmallProperty без загрузки BigProperty в память:
//this query loads the entire entity returned by FirstOrDefault() in memory
//the execution is deferred during Where; the execution happens at FirstOrDefault
db.BigEntities.Where(filter).FirstOrDefault()?.SmallProperty;
//this query only loads the SmallProperty in memory
//the execution is still deferred during Select; the execution happens at FirstOrDefault
//a subset of properties can be selected from the entity, and only those will be loaded in memory
db.BigEntities.Where(filter).Select(e=>e.SmallProperty).FirstOrDefault();
Поэтому вы можете использовать это поведение, чтобы запрашивать BigProperty только там, где оно вам действительно нужно, и использовать операторы select для явной фильтрации его везде.
Я проверил это с помощью функции использования памяти в средствах диагностики отладки Visual Studio.