Ответ 1
Я нашел проблему. Это я был виноват. У меня было соотношение FK_Venue_City
как City.ID
→ Venue.ID
, где я хотел был City.ID
→ Venue.CityID
. Я сделал это изменение в моей базе данных, а затем обновил модель.
Я не могу понять, почему я получаю эту ошибку, когда пытаюсь добавить объект Venue и вызывать SaveChanges(). Единственная разница в модели с объектами Venue - это отношение 1 к 1..0 с City.
City city = ProcessCityCache(ev, country, db); // After this call, 'city' is already persisted.
venue = new Venue {
TicketMasterURL = ev.VenueSeoLink,
Name = Capitalize(ev.VenueName),
City = city
};
db.Venues.AddObject(venue);
db.SaveChanges(); // Exception thrown here.
Любое понимание будет принята с благодарностью!
(Откройте изображение в его собственной вкладке/окне, чтобы увидеть полный размер)
Я нашел проблему. Это я был виноват. У меня было соотношение FK_Venue_City
как City.ID
→ Venue.ID
, где я хотел был City.ID
→ Venue.CityID
. Я сделал это изменение в моей базе данных, а затем обновил модель.
ОК, добавив мой опыт с этим неясным сообщением об ошибке:
У меня было то же исключение, и после сравнения базы данных с EDMX (какая утомительная задача!!) я обнаружил, что я ошибочно установил отношения "один к одному" по-другому (иностранные были первичными и первичными были иностранными).
Как только я исправил, что все работает гладко!
В любом случае, надеюсь, что мои потерянные 3-4 часа помогут кому-то!:)
Я страдаю подобной проблемой. В моем случае я неправильно установил отношения FK, а затем импортировал таблицу с неправильным FK в мою EF-модель. Несмотря на исправление связей FK с мастером обновления в Visual Studio, моя коррекция не была поднята.
Чтобы решить эту проблему, я удалил таблицу из модели EF, а затем снова импортировал ее с помощью Мастера обновлений, который, наконец, получил изменение. Надеюсь, это поможет кому-то еще!
Мое дело также было неправильно настроенной связью. В частности, я установил соотношение 1..1, когда мне было нужно 1..0,1
Добавление двух моих битов. У меня была эта ошибка и, в конце концов, выяснил, что у меня изменились отношения между родителями и детьми. Как только я убрал эти отношения, он снова работал.