我一直在寻找解决这个问题的方法太久了,我真的希望这个能够发挥作用。
我正在尝试提交到数据库,但即使整个函数执行也不会发生更改。
在文件的顶部我有这个:
DBContextDataContext n_db = new DBContextDataContext();
UserRepository u_rep = new UserRepository();
这是功能(第280行):
public void FixWinRatio(int gameID)
{
//
IEnumerable<BLGame> games = GetBLGameInfo(gameID);
foreach (BLGame item in games)
{
Stat stats = u_rep.GetUsersStats(item.userID, 2);
if (item.points >= 6)
{
stats.wins += 1;
}
else
{
stats.losses += 1;
}
n_db.SubmitChanges();
}
}
没有任何事情发生,一切都在执行,价值也会发生变化(stats.wins获得+1或损失,具体取决于积分)
我也试过这个:
n_db.Stats.Attach(stats, true);
n_db.SubmitChanges();
没有
感谢你抽出的时间!
答案 0 :(得分:1)
您的UserRepository需要使用相同的DataContext。由于你没有将它传递给UserRepository ctor,我假设它创建了第二个无法工作的DataContext。