몇 가지 검색 후 이것이 내가 착륙 한 곳이므로 여기에 아래 해결책을 게시합니다. EF 6을 사용하여 저장 프로 시저를 호출하려고했지만 저장 프로 시저에 연결된 서버 가 활용되고 있기 때문에 비슷한 오류가 발생 했습니다.
연결된 서버 _에 대한 OLE DB 공급자 _이 (가) 분산 트랜잭션을 시작할 수 없기 때문에 작업을 수행 할 수 없습니다.
파트너 트랜잭션 관리자가 원격 / 네트워크 트랜잭션에 대한 지원을 비활성화했습니다 *
에 위로 점프 SQL 클라이언트 것은 또한 그것이 EF 일이라고 나를 위해 확인 내 문제를 해결했다.
EF 모델 생성 방법 기반 시도 :
db.SomeStoredProcedure();
ExecuteSqlCommand 기반 시도 :
db.Database.ExecuteSqlCommand("exec [SomeDB].[dbo].[SomeStoredProcedure]");
와:
var connectionString = db.Database.Connection.ConnectionString;
var connection = new System.Data.SqlClient.SqlConnection(connectionString);
var cmd = connection.CreateCommand();
cmd.CommandText = "exec [SomeDB].[dbo].[SomeStoredProcedure]";
connection.Open();
var result = cmd.ExecuteNonQuery();
이 코드는 짧아 질 수 있지만 디버깅과 단계별 실행에 약간 더 편리하다고 생각합니다.
나는 Sql Client가 반드시 선호되는 선택이라고 생각하지 않지만 비슷한 문제를 가진 다른 누군가가 Google에 도착하면 적어도 공유 할 가치가 있다고 생각했습니다.
위의 코드는 C #이지만 Sql 클라이언트로 전환하려는 개념은 여전히 적용됩니다. 적어도 그렇게하려고 시도하는 것은 진단적일 것입니다.