попробуйте это:
Company company = context.Companies.Include("Address").Find(id);
или с новым набранным синтаксисом:
Company company = context.Companies.Include(c => c.Address).Find(id);
Это говорит EF с нетерпением загружать Address
сущность как часть вашей Company
сущности.
Также кажется, что у вас есть слой хранилища поверх EF - убедитесь, что ваша реализация хранилища поддерживает Include()
, если это так.
Просто для начала, это реализация * 1014.* что Джулия Лерман предоставляет в «Programming Entity Framework» для поддержки тестового шаблона репозитория с модульным тестированием в POCOS (эта версия работает только с первым синтаксисом):
public static IQueryable<TSource> Include<TSource>(this IQueryable<TSource> source, string path)
{
var objectQuery = source as ObjectQuery<TSource>;
if (objectQuery != null)
{
return objectQuery.Include(path);
}
return source;
}