asp.net MVC + linq to entity 보고서 "에서 이 세션에서 다른 스레드가 실행 중이기 때문에 새로운 작업을 시작할 수 없습니다."오류 해결 방법

858 단어 mvcasp.netLINQsms
오늘 코드를 쓸 때, 이러한 문제가 발생했습니다. 기록을 순환적으로 저장할 때, SaveChanges () 방법으로 "새로운 업무를 시작할 수 없습니다. 다른 라인이 이 세션에서 실행 중이기 때문입니다."라고 알려 주었습니다. 글씨체로 볼 때, 이것저것 열려 있고 닫히지 않았을 것입니다.다시 열고 싶었어요. 그때 무슨 문제가 일어났는지 몰랐어요. 나중에 MSDN을 찾아봤는데 SaveChanges () 방법이었어요. 병발 충돌이 일어났어요.
다음은 제가 코드를 올려놓을 테니 여러분 한번 보세요.
foreach (var item in student)
                {
                    SMS_MsgInceptGroup sms_msg = new SMS_MsgInceptGroup();

                    sms_msg.user_id = item.id;
                    sms_msg.msg_id = msgid;

                    newEtrain.AddToSMS_MsgInceptGroup(sms_msg);
       newEtrain.SaveChanges();
                }

                
마지막 한마디에 주의하세요.
newEtrain.SaveChanges();
바로 그것이 일으킨 이 문제, 해결 방법은 사실 매우 간단하다.
이 순환의 바깥쪽에 놓아두면 된다. 어떤 친구는 바깥쪽에 놓아두면 모든 순환 기록이 보존된다고 말한다. 답은 긍정적이다.

좋은 웹페이지 즐겨찾기