我已经寻找这个问题的解决方案太久了,我真的希望它能起作用。
我正在尝试提交到数据库,但即使整个函数执行,更改也不会发生。
在该文件的顶部,我有以下内容:
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();没什么。
感谢您的宝贵时间!
发布于 2013-05-17 09:12:41
您的UserRepository需要使用相同的DataContext。由于您没有将其传递给UserRepository ctor,因此我假设它创建了第二个DataContext,但这将不起作用。
https://stackoverflow.com/questions/16599877
复制相似问题