Я пытаюсь обновить отношение внешнего ключа в EntityFramework 4 (с базой данных Microsoft SQL Server) через внешний ключ.
Я загружаю объект, используя .Single()
, а затем пытаюсь установить вObject.ExampleId
(Пример таблицы является справочной таблицей, которая соответствует перечислению в C #).Затем я вызываю SaveChanges()
в контексте.
Это работает локально, но на производственных серверах происходит сбой и, кажется, зависает.Используя операторы отладки, я сузил область ожидания до строки, где я фактически установил Id.
Я смог решить проблему, загрузив весь объект Example и выполнив Object.Example = loadedExample
вместо Object.ExampleId = exampleId
.
Мой вопрос: почему это так?В других местах мне удалось обновить отношения, просто установив Id.Это плохая практика?