在我的场景中,我与单个表有很多关系。
所以在Player_VsMode中我有两个外键的Player表。一个是玩家,第二个是对手。当我试图在表Player_VsMode中插入。在Player_vsMode中插入数据都很好 但在Player中它添加了一个新的对手对象 。这对我来说没有意义,为什么Hell EntityFramework添加了这一新对手!我的代码是
public Void performVsMode(Player_VsMode vsMode)
{
Player playerFromDB = legendWarsEntities.Player.First(v => v.email == vsMode.Player.email);
Player enemyFromDB = legendWarsEntities.Player.First(v => v.email == vsMode.Opponent.email);
vsMode.PlayerReference.Value = playerFromDB;
vsMode.OpponentReference.Value = enemyFromDB;
legendWarsEntities.AddToPlayer_VsMode(vsMode);
legendWarsEntities.SaveChanges();
}
答案 0 :(得分:0)
我不推荐这个 刚做了一个工作,向项目经理说它正在工作:)。
Player playerFromDB = legendWarsEntities.Player.First(v => v.email == vsMode.Player.email);
Player enemyFromDB = legendWarsEntities.Player.First(v => v.email == vsMode.Opponent.email);
vsMode.PlayerReference.Value = playerFromDB;
vsMode.OpponentReference.Value = enemyFromDB;
//adding records
legendWarsEntities.SaveChanges();
//deleting extra Opponent Object!!!
Player[] playerToDel = legendWarsEntities.Player.Where(v => v.email == vsMode.Opponent.email).ToArray();
legendWarsEntities.DeleteObject(playerToDel[1]);
legendWarsEntities.SaveChanges();