ReferentialConstraint中的依赖属性映射到存储生成的列。 专栏:’ID’

当我尝试添加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. 

任何见解将不胜感激!

模型图

(在自己的选项卡/窗口中打开图像以查看完整尺寸)

我发现了问题。 这都怪我。 我把我的FK_Venue_City关系设置为City.ID – > Venue.ID我想要的是City.ID – > Venue.CityID 。 我在数据库中进行了更改,然后更新了模型。

好的,添加我的经验与这个模糊的错误消息:

我有同样的例外,在将数据库与EDMX进行比较之后(这是一项繁琐的任务!!)我发现我错误地设置了一对一的关系(外国人是主要的,初级是外国的)。

一旦我修复它一切顺利!

无论如何 – 希望我失去3-4个小时会帮助别人! 🙂

我一直在遭遇类似的问题。 在我的情况下,我错误地设置了FK关系,然后将带有错误FK的表导入到我的EF模型中。 尽管在Visual Studio中使用更新向导修复了FK关系,但我没有选择更正。

为了解决这个问题,我从EF模型中删除了表,然后使用更新向导重新导入它,最终在更改中找到了。 我希望这可以帮助别人!

我的情况也是一个错误配置的关联。 具体来说,当我需要的是1..0,1时,我建立了1..1的关系

添加我的两位。 我有这个错误,并最终发现我的父母/子女关系被逆转了。 一旦我清理了这种关系,它再次起作用。