Я использую Entity Framework с набором из 3 разных таблиц в иерархии. Думайте ApartmentUnit -> ApartmentComplex -> Владелец организации. У каждого есть первичный ключ и внешний ключ для его владельца в базе данных. Когда я построил модель EF, она создала свойства для каждого из них. Действительно, сохранить новые экземпляры каждого довольно просто. Я также узнал, например, что для добавления нового подразделения мне сначала нужно добавить организацию, добавить ее в новый комплекс, а затем добавить это в новый модуль перед сохранением. Немного работы, но это имеет смысл.
Теперь, когда я запутался, у меня есть новая квартира, но она живет в существующем комплексе. Я могу создать новый сложный объект с соответствующими свойствами и присоединить его к новому модулю, но когда я иду, чтобы сохранить модуль, платформа выявляет нарушение первичного ключа в таблице apartmentComplex, так как пытается добавить комплекс, который я прикрепил как НОВЫЙ комплекс, а не существующий.
Мне кажется, что обходной путь заключается в том, чтобы сначала пойти и получить новый экземпляр комплекса, а не создавать его - в сущности, позволяя EF создать его вместо меня - но это означало бы еще одно обратное путешествие и кажется излишним мне. Есть ли более простой способ сохранить мою новую квартиру?