In my scenario I have a many to many relationship with single table. So in Player_VsMode I have two foreign keys of Player table. One is for Player and second for Opponent. When I am trying to insert in the table Player_VsMode. Insertion of data in Player_vsMode is all fine but in Player it adds a new row of opponent Object . And this is not making sense to me why the Hell EntityFramework adding this new row of Opponent! My code is
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();
}
I DO NOT RECOMMEND THIS Just did a work around to say to Project Manager that it's Working:).
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();
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.