Зависимое свойство в ссылочном указателе сопоставляется с столбцом, созданным магазином. Столбец: 'ID'

Я не могу понять, почему я получаю эту ошибку, когда пытаюсь добавить объект 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.

Любое понимание будет принята с благодарностью!

Model Diagram

(Откройте изображение в его собственной вкладке/окне, чтобы увидеть полный размер)

Ответы

Ответ 1

Я нашел проблему. Это я был виноват. У меня было соотношение FK_Venue_City как City.IDVenue.ID, где я хотел был City.IDVenue.CityID. Я сделал это изменение в моей базе данных, а затем обновил модель.

Ответ 2

ОК, добавив мой опыт с этим неясным сообщением об ошибке:

У меня было то же исключение, и после сравнения базы данных с EDMX (какая утомительная задача!!) я обнаружил, что я ошибочно установил отношения "один к одному" по-другому (иностранные были первичными и первичными были иностранными).

Как только я исправил, что все работает гладко!

В любом случае, надеюсь, что мои потерянные 3-4 часа помогут кому-то!:)

Ответ 3

Я страдаю подобной проблемой. В моем случае я неправильно установил отношения FK, а затем импортировал таблицу с неправильным FK в мою EF-модель. Несмотря на исправление связей FK с мастером обновления в Visual Studio, моя коррекция не была поднята.

Чтобы решить эту проблему, я удалил таблицу из модели EF, а затем снова импортировал ее с помощью Мастера обновлений, который, наконец, получил изменение. Надеюсь, это поможет кому-то еще!

Ответ 4

Мое дело также было неправильно настроенной связью. В частности, я установил соотношение 1..1, когда мне было нужно 1..0,1

Ответ 5

Добавление двух моих битов. У меня была эта ошибка и, в конце концов, выяснил, что у меня изменились отношения между родителями и детьми. Как только я убрал эти отношения, он снова работал.