Nic*_*pat 16 .net c# entity-framework entity-framework-4
当我尝试添加Venue对象并调用SaveChanges()时,我无法弄清楚为什么会出现此错误.具有Venue对象的模型的唯一区别是它们与City的1到1..0关系.
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.
Run Code Online (Sandbox Code Playgroud)
任何见解将不胜感激!

(在自己的标签/窗口中打开图像以查看完整尺寸)
Nic*_*pat 30
我发现了这个问题.这都怪我.我的FK_Venue_City关系设置为City.ID- > Venue.ID我想要的是City.ID- > Venue.CityID.我在我的数据库中进行了更改,然后更新了模型.
好的,添加我的经验与这个模糊的错误消息:
我有相同的例外,在将数据库与EDMX进行比较之后(这是一项繁琐的任务!!)我发现我错误地设置了一对一的关系(外国人是主要的,主要的是外国的).
一旦我修复它一切顺利!
无论如何 - 希望我失去3-4个小时会帮助别人!:)
我一直在遭遇类似的问题.在我的情况下,我错误地设置了FK关系,然后将带有错误FK的表导入到我的EF模型中.尽管在Visual Studio中使用更新向导修复了FK关系,但我没有选择更正.
为了解决这个问题,我从EF模型中删除了表,然后使用更新向导重新导入它,最终在更改中找到了.我希望这有助于其他人!