2
저장 프로 시저에 대한 다른 호출과 함께 아래 코드가 있습니다.linq to SQL 트랜잭션
내 문제는이 트랜잭션에 있기를 원한다. DB 메소드 중 하나가 실패하면 자동으로 보류중인 변경 사항을 롤백한다.
Stackoverflow/Microsoft 페이지에서 SubmitChanges가 이들을 트랜잭션으로 랩핑한다는 기사를 읽었습니다. spClearTablesForReplication 방법은 테이블을 지우고 나중에 코드에가 (테스트) 목적에 실패하고 다음 내 모든 테이블이
XalSqlDataContext db = new XalSqlDataContext();
db.spClearTablesForReplication();
db.spUpdateStockItemGroup(ConvertToXElement(typeof(List<StockItemGroup>), stockItemGroups));
db.spUpdateStockItemSubGroup(ConvertToXElement(typeof(List<StockItemSubGroup>), stockItemSubGroups));
db.SubmitChanges();
모든 단서/솔루션 (롤백되지 않음) 비어 있는지
문제는 이것 때문에.
그때 이렇게한다면 난 더 이상 SubmitChanges 필요하지 않습니다? – user1914109
@ user1914109 다른 코드는 변경되지 않아야합니다. 당신이 사용하는 코드가 변경되어서는 안된다는 것을 제외하고, 당신이 생각하는 작업은 transactionScope 안에서 당신이 블럭을 사용하여 감싸 야하는 트랜잭션 (all or nothing)이어야한다. – dutzu
결론 SubmitChanges가 트랜잭션에서 db 호출을 래핑하지 않습니다? – user1914109