2011-04-21 8 views
0

안녕 내가 (등 모든 가져 오기를 생성, 설정) 일부 자동화 코드를 만든 발전기를 가지고,이 코드에 다음과 코드 조각이있다 :C# TransactionManager를

SqlTransaction transaction = TransactionManager.GetTransaction(); 

코드 생성기가이 작업을 수행하지 않았기 때문에 파일의 시작 부분에 참조를 추가하고 using System.Transactions;을 수동으로 가져 왔습니다. 가져온 후에는 TransactionManager error이 제거되었지만 지금은 에 그런 방법이 없다는 것을 조사한 결과 에 오류가 표시됩니다.
누구든지이 코드의 위치에 무엇이 있어야하는지에 대한 단서를 가지고 있습니까 (생성기는 오류로 인해 교체해야하는 코드가 있습니다. 내 추측은이 경우 중 하나입니다 ...). 모든 제안을 부탁드립니다! 미리 감사드립니다!

+0

사용하는 발전기를 지정해야합니다. – jgauffin

답변

2

이 대답은 사용중인 발전기가 내장되어 있고 지금 수정하고 있다고 가정합니다. 외부 코드 생성기의 경우 필요한 참조를 위해 설명서를 확인해야합니다.

System.Transactions의 TransactionManager 클래스가 실제로 트랜잭션을 만들거나 등록하지 않습니다. 현재 트랜잭션에 대한 정보 만 제공합니다. MSDN에서 :

이 클래스는 기본 트랜잭션 옵션에 대한 자세한 내용 를 얻기 위해 사용 정적 속성 및 메서드가 포함되어 있습니다.

대신 나는 당신이 원하는 생각 중 하나

인터넷 검색 TransactionManager에에서 명시 적 트랜잭션 GetTransaction() 메소드를 제공하는 것과 같은 일을하는이 이름을 가진 자신의 클래스 - 이것이 가능한 이유는 생성자가이 이름을 갖고 있기 때문입니다 이자형?

+0

내 응용 프로그램이지만 내 프로젝트 팀에서 만들지는 않았지만 사용할 수 있도록 제작자가 제공되었지만 현재 작성자는 휴가 중이므로 아무 것도 없습니다. 우리는 데이터베이스에 대한 모든 데이터 유형을 간단하게 만들기 위해 실제 생성기를 사용해야 할 필요가 없습니다. –

+0

@ Lord-Link 그 경우에는 Generator의 TransactionManger가 어떤 네임 스페이스인지 찾아서 포함시켜야합니다. System.Transactions의 TransactionManager가 아니기 때문에 포함시켜야합니다. –

0

일부 트랜잭션 이름 공간을 추가하면 도움이되지 않습니다. 생성기와 함께 제공되는 기본 DLL 또는 코드 파일이 필요할 것입니다. 설명서를 읽으십시오.

0

일반적으로 현재 연결에서 BeginTransaction()을 호출하여 SqlTransaction을 시작합니다. "Generator"에서 생성되거나 생성 된 TransactionManager 클래스를 사용하는 것처럼 보입니다.

+0

지금 당장 살펴 보는 중 ... –