Согласно MSDN:
«Обратите внимание, что в настоящее время невозможно отфильтровать связанные объекты загружаются Включать всегда будут приносить все связанные с сущностями.».
http://msdn.microsoft.com/en-us/data/jj574232
Существует также UserVoice элемент для этой функции:
http://data.uservoice.com/forums/72025-entity-framework-feature-suggestions/suggestions/1015345-allow-filtering-for-include-extension-method
подход использовать анонимный объект работы, даже если это не так чист, как вы хотите, это будет:
public Member GetMember(string username)
{
var result = (from m in db.Members
where m.Username == username
select new
{
Member = m,
FirstRenewal = m.Renewals.FirstOrDefault()
}).AsEnumerable().Select(r => r.Member).FirstOrDefault();
return result;
}
Свойство FirstRenewal используется как раз то, что EF6 загрузила первое обновление в члены объект. В результате член, возвращаемый из метода GetMember(), содержит только первое обновление.
Этот код генерирует один запрос в БД, поэтому, возможно, он достаточно хорош для вас.
Я предполагаю, что вы хотите условно включить эту функцию в EF, пока вы не можете продвигать здесь: https://entityframework.codeplex.com/workitem/47 –
Возможный дубликат [Как использовать Entity Framework включить с условием?] (http://stackoverflow.com/questions/24380345/how-to-use-entity-framework-include-with-condition) –