我有一个实体有两个fk's。我一直试图向数据库插入一条记录而没有成功。这是我所使用的方法:第二个对象被分配又是实体框架和FK问题
valuePaymentBetToAdd.BetType = db.BetTypes.First(betType => betType.Id == valuePaymentBetToAdd.BetType.Id);
valuePaymentBetToAdd.Lottery = db.Lotteries.First(lotto => lotto.Id == valuePaymentBetToAdd.Lottery.Id);
在这种情况下,但在调用SaveChanges方法时,我得到一个错误,指出彩民对象的属性都为空的。
valuePaymentBetToAdd.BetTypeReference.EntityKey = new EntityKey(db.DefaultContainerName + ".BetType", "Id", valuePaymentBetToAdd.BetType.Id);
valuePaymentBetToAdd.LotteryReference.EntityKey = new EntityKey(db.DefaultContainerName + ".Lottery", "Id", valuePaymentBetToAdd.Lottery.Id);
在这种情况下,我得到另一个奇怪的错误。当对象被添加到集合中时。
该对象无法添加或附加,因为其EntityReference具有与此对象的EntityKey不匹配的EntityKey属性值。
我在这种情况下错过了什么吗?
请出示你使用插入,而不只是这两行的全部代码。你展示的两种方法都很好。你的bug在别的地方。我疯狂的猜测是你使用了多个ObjectContexts,但是很难说没有看到代码。 – 2010-02-08 14:30:29