Я столкнулся с проблемой, схожей с этим вопросом здесь .
У меня есть следующий код для создания заявки из формы MVC и привязки родительских элементов к дочернему.У меня есть имена из выпадающих списков в форме, но я считаю, что мне нужно добавить соответствующие объекты в текущий контекст, если я не ошибаюсь.
ticket.Office = (from ofc in db.Offices
where ofc.OfficeName == ticket.Office.OfficeName
select ofc).Single();
ticket.TroubleArea = (from trub in db.TroubleAreas
where trub.TroubleAreaName == ticket.TroubleArea.TroubleAreaName
select trub).Single();
ticket.Priority = (from pri in db.Priorities
where pri.PriorityName == ticket.Priority.PriorityName
select pri).Single();
db.AddToTickets(ticket);
db.SaveChanges();
Этот код правильно связывает мою сущность заявки с желаемыми объектами, но создает дубликаты объектов TroubleArea и Priority в базе данных, несмотря на то, что вновь созданный объект заявки не связан с ними.Как ни странно, этого не происходит с объектом office, несмотря на то, что все свойства объекта и код одинаковы.
Что мне здесь не хватает?