2009-12-02 2 views
1

워크 플로 파운데이션의 지속성 및 추적 서비스로 작업하고 있으며 워크 플로에 대해서만 SQL Server에서 별도의 스키마를 사용하는 것이 좋습니다.워크 플로 파운데이션 Separate Schema

불행하게도 그들은 기본 dbo 스키마 이름을 코드에 하드 코딩 한 것처럼 보입니다. 한 가지 예로 SqlTrackingService 클래스가 있습니다. 그들은 추적 클래스를 작성하는 방식으로 인해, 내 자신의 db 쿼리 코드를 제공하는 메서드를 재정의 할 수 없습니다.

나는 다음과 같은 옵션에 대해 생각했지만, 일부는 가능한 것으로 나타나지 않습니다 : (? 라이센스 위반)

  • 분해 처음부터 추적을 다시 작성하고 파일을 추적 쓰기 재
  • 일부 차단하는 방법과 다시 쓰기 SQL 쿼리
  • 그냥 계속 진행하여 W의 DBO 스키마를 사용 CommandText에
  • 필터링하는 SqlCommand의 사용자 지정 버전을 사용로를 속일 수있는 방법 F stuff
  • WF에 대해 완전히 다른 데이터베이스를 사용하십시오.

내가 제안하지 않은 제안이나 옵션이있는 사람이 있습니까? 감사.

답변

1

대부분의 경우 나는 방금 dbo 체계를 수락하고 경우에 따라 별도의 데이터베이스로 이동합니다. 내가 아는 한 명령을 가로 채고 스키마 나 테이블 이름을 다시 쓸 방법이 없지만 결코 시도하지 않았습니다. 다시 작성하려면 SQLCe 및 LinqToSql에 SqlCeWorkflowPersistenceService 포트를 사용했습니다. 자유롭게 사용하거나 필요에 맞게 수정하십시오. 코드는 here을 참조하십시오. 어쨌든 손상된 소유권 부분을 제외하고는 기본 SqlWorkflowPersistenceService와 거의 같은 작업을 수행합니다.

+0

감사합니다. dbo 스키마를 사용하거나 다른 데이터베이스를 사용하는 것이 가장 쉬운 방법이라고 생각합니다. 그러나 SQL 쿼리를 가로 채고 다시 쓰는 방법을 찾았습니다. 그다지 깨끗하지는 않지만, 내가 원하는 것을 할뿐 아니라 다른 용도로 사용하기도합니다. – Dan

관련 문제