[英]Foreign key with EF 4 c#
我在EF 4.0中的外键有问题。
我和一个玩家玩了一场小游戏。 该玩家可以在游戏中包含一些角色。
因此,当我想向数据库添加字符时,必须设置外键“ PlayerId”。
这是我的代码,但是在上下文模型中添加对象时会杀死:
using (DatabaseModelContainer model = new DatabaseModelContainer())
{
Character c = new Character();
c.Player.Id = idPlayer;
model.CharacterJeu.AddObject(c);
model.SaveChanges();
}
感谢的答案。
这里很奇怪
Character c = new Character();
c.Player.Id = idPlayer;//But instance c has no Player (well, I don't know the constructor of Character, but I may imagine there's no new Player() inside)
顺便说一下,有了您似乎拥有的模型,您就不必像以前那样管理FK。 您必须管理参考(导航)属性。
你可以那样做。
Character c = new Character{
Player = model.GetPlayerByid(idPlayer);//or something like that
}
实体框架有一个称为Attach的方法,这可能是您要寻找的。 我认为它可以用于更新现有对象上的外国实体。
MSDN: 附加和分离对象
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.