Я пытаюсь вернуть несколько списков элементов через службу WCF и хочу контролировать каждый объект, загруженный в список, чтобы избежать исключений переполнения стека при сериализации и возврате результата.
Я заполняю эти списки с помощью LINQ to Entities, и я отключил Ленивую загрузку для модели EF ... но когда я пытаюсь это сделать, многие ссылки заполняются, и при попытке вернуть Список возникает исключение.
Это пример:
public class DelegacionesDAO : IDelegacionesDAO
{
Model.Entities entities = new Model.Entities();
public DelegacionesDAO()
{
entities.ContextOptions.ProxyCreationEnabled = false;
entities.ContextOptions.LazyLoadingEnabled = false;
}
public List<Model.Things> GetDelegaciones()
{
IQueryable<Model.Things> thingsList= from things in entities.Things
select things;
return thingsList.ToList<Model.Things>();
}
}
На эту таблицу «Вещи» ссылаются другие, такие как «Персоны» (у которых есть вещи), и в этом проблема, когда я пытаюсь ее вернуть, каждое «Вещи» имеет список «Персон» и далее.
Я что-то упустил ??
Заранее спасибо!
Edit:
Добавил еще немного кода. Теперь он работает ... Я думаю, что он загружает все свойства навигации, когда вы пытаетесь "посмотреть" его, даже если он не загружен: -S
Теперь у меня есть только сомнение, если я делаю это хорошо, создавая экземпляр лица в конструкторе, чтобы использовать его через WCF.