У меня есть элемент, и одно из его свойств - это страна, которая является объектом, я думал, что смогу выполнить приведенный ниже код.Вложения Entity Framework вместо обновления
var Post = new Post();
country = simpleRepository.GetCountries().FirstOrDefault(c => c.CountryId == postViewModel.PostAddress.CountryId);
post.PostAddress.Country = country;
allThingsEntities.Posts.Add(post);
К сожалению, я получаю эту ошибку, когда я делаю:
Объект объект не может ссылаться несколько экземпляров IEntityChangeTracker
И когда я изменяю post.PostAddress.Country = country;
к post.PostAddress.CountryId = country.countryId
система бросает потому что он пытается создать новую страну.
Не могли бы вы показать нам классы 'Post' и' PostAddress'? –
Что такое 'GetCountries()' делать? Можно это увидеть? – Thewads
Кажется, что simpleRepository и allThinsEntities используют разные DbContexts/ObjectContexts. Вы получаете свою страну из одного контекста и пытаетесь добавить ее в другую. Сначала вы должны отсоединить страну от контекста simpleRepsitorys, а затем присоединить ее к allThingsEntities, а затем назначить ее PostAddress.Country. – user3411327