У меня есть модель ef 4, и я использую объекты самоконтроля. В этой модели есть объект под названием Организация. Каждая организация может иметь много мест (адресов). Если я попытаюсь выбрать одно местоположение (чтобы я мог его удалить), то:
var location = _container.Locations.FirstOrDefault(l => l.Id == id);
Я получаю сообщение об ошибке, что уже открыта программа чтения данных, поэтому я не могу открыть другую. Если я сделаю следующее:
var location = _container.Locations.Include("Organisation").FirstOrDefault(l => l.Id == id);
Тогда все работает просто отлично.
Используя Intellitrace, я вижу, что при неудачном запросе он выполняет команду ADO, чтобы получить только местоположение, а затем другую команду, чтобы получить местоположение и организацию.
Это ошибка или что-то, что мне нужно сделать по-другому для сущностей самоотслеживания?