Возможно, об этом уже спрашивали, но я не могу его найти, поэтому здесь.
У нас есть общее чтение таблицы с использованием Context.GetTable (), а затем присоединение выражения для поискаединственная запись в таблице.Эта таблица имеет ассоциации.К сожалению, мы пытаемся изменить поле, в котором создается ассоциация, поэтому:
Foo является родителем Bar для FooId
Когда мы собираемся изменить FooId, происходит сбойпотому что свойство HasAlreadyLoaded объекта EntityRef имеет значение true.Если я недостаточно хорошо понимаю LinqToSql, я считаю, что именно вызов SingleOrDefault для этого набора записей фактически запускает запрос и, таким образом, загружает все связанные объекты.
Есть ли способ остановить эту загрузку?(ObjectTrackingEnabled и DeferredLoading установлены в true), и если нет, каково общее решение этой проблемы?На данный момент мы не знаем об индивидуальных отношениях, и я не хочу смотреть на возможность выяснить ассоциации и загрузить их на основе идентификатора.
Мой предпочтительный метод был бы менее универсальным, и я мог бы сделать .Foo = Context.Foo.Select (x => x.Id == FooId), но у нас нет такой роскошиТеперь.