我正在尝试更新实体,但我收到以下错误:
上下文目前没有跟踪实体。
我的数据库表包含以下字段:
fixturedate,leagueID(FK),A队(FK),B队(FK)。
我的代码如下:
public void UpdateFixture(Fixture validFixture)
{
Fixture fixture = new Fixture();
fixture = entities.Fixtures.Where(f => f.fixtureId == validFixture.fixtureId).FirstOrDefault();
League league = new League();
league.LeagueId = validFixture.leagueId;
fixture.League = leagueActions.GetLeague(league);
fixture.Team1 = teamActions.GetTeam(validFixture.teamA);
fixture.Team2 = teamActions.GetTeam(validFixture.teamB);
entities.UpdateObject(validFixture);
entities.SaveChanges();
}
当我entities.AttachTo("Fixtures", validFixture);
时,我收到以下错误:
上下文已经在跟踪具有相同资源Uri的不同实体。
更新灯具实体需要做些什么?
答案 0 :(得分:2)
为什么没有跟踪validFixture在你的代码中是不明确的,但是你选择了一个与validFixture实例具有相同ID的Fixture实体,这意味着它现在通过“fixture”实例跟踪该实体。
基本上这意味着您可以直接通过“fixture”实例更新实体。尝试通过调用UpdateObject方法删除该行。