C# 未找到或更改引发异常行的linq到sql

C# 未找到或更改引发异常行的linq到sql,c#,asp.net,C#,Asp.net,您好,我是linq to sql,我得到了未找到或未更改行的错误 我在linq查询的帮助下更新我的表,然后有时它会显示这个错误。 我无法解决这个问题,因为它有时有效,有时无效 但我没有得到任何永久的解决办法来解决这个问题 twtmob_campainincomedetails_tb incomedetails = dataContext.twtmob_campainincomedetails_tbs.Single(twtincome => twtincome.incomeid == tem

您好,我是linq to sql,我得到了未找到或未更改行的错误

我在linq查询的帮助下更新我的表,然后有时它会显示这个错误。 我无法解决这个问题,因为它有时有效,有时无效

但我没有得到任何永久的解决办法来解决这个问题

twtmob_campainincomedetails_tb incomedetails = dataContext.twtmob_campainincomedetails_tbs.Single(twtincome => twtincome.incomeid == tempincomes);
                decimal temppayout = decimal.Parse(lblpertweet.Text);
                decimal temptotal = temppayout + tempmoneyearned;
                incomedetails.moneyearned = Convert.ToString(temptotal);
                incomedetails.tweet = temptweet + 1;
                incomedetails.bonus = lblbonus.Text;
                incomedetails.budurl = tempbudurl;
                dataContext.SubmitChanges();

 twtmob_user_tb twtuserdetails = dataContext.twtmob_user_tbs.Single(twtdetail => twtdetail.twtmobuserid == tempUserId);
        {
            float temppayout = float.Parse(lblpertweet.Text);
            float tempoutstandingtotal = temppayout+tempoutstanding;
            twtuserdetails.outstandingbalances = tempoutstandingtotal;
            dataContext.SubmitChanges();
        }

这是一条并发冲突异常错误消息

可以通过将实体所有属性的UpdateCheck属性设置为none来避免此问题。但这相当于最后的胜利,你可能不想要

或者,您可以使用数据库上的时间戳来检查这种并发性,它将成为对象上的一个属性,并在更新期间用于查找记录(除了主键)。如果未找到要执行更新的记录,则会引发ChangeConflictException。如果您在断开连接的模式下工作,请记住将其存储在某个位置,如在ASP.NET中

你必须花些时间来理解这个概念


您能提供更多信息吗?可能是linq查询您正在使用的表以及有关您正在访问的一个或多个表的一些信息?感谢您的回复,我有用户表。表中有很多与用户相关的信息。当我在主键的基础上更新其他字段时,主键是Userid,然后在某个时候它会显示错误并正常工作。我正在添加我正在使用的代码。