У меня есть следующие LINQ запрос:LINQ к Entities - использование включают с навигационными свойствами
return ClientContext.Services.Include("Location").Include("Service1").Where(s => s.FkLocationId == currentLocation);
Мой класс Сервис выглядит следующим образом:
public partial class Service {
public Service()
{
this.Service1 = new HashSet<Service>();
}
public virtual ICollection<Service> Service1 { get; set; }
public virtual Location Location { get; set; }
}
С моей LINQ Query , Я ожидаю найти местоположение данного сервиса, а также его дочерние службы, оба из которых я могу получить правильно. Но когда я проверяю внутри объектов службы внутри ICollection<Service> Service1
, объект местоположения имеет значение null.
Почему я не могу получить навигацию по местоположению объекта «Сервис» в этой коллекции?
Что было бы самым простым способом сделать это?
Вы рвутся связанные погрузочные объекты, так что не нужно виртуального ключевого слова на ваших навигационных свойств. Вы пытались добавить MultipleActiveResultSets = True в строку подключения? – SWilko
Класс service() на самом деле является кодом, генерируемым EF. – devC
Тогда вам не нужно включать в себя, поскольку EF должен лениться на загрузке (чего нет здесь). Вы протестировали сервис с помощью [Fiddler] (http://www.telerik.com/fiddler), чтобы узнать, что происходит ? – SWilko