2009-09-03 6 views
1

Workflow Foundation을 처음 사용했습니다. 나는 괜찮 았지만 한 가지 책 (K. Scott Allen의 Programming Windows Workflow Foundation)을 통해 진행했지만 몇 가지 질문이 남아 있습니다. 가장 큰 것은 '데이터를 어디에 넣어야합니까?'입니다.Workflow Foundation : 데이터를 어디에 두어야합니까?

그는 책 전체에서 버그 추적 시스템에 대한 아이디어를 사용합니다. 시나리오는 내가하고 싶은 것과 너무 멀지 않습니다. 그의 예제는 3 가지 속성을 가진 간단한 Bug 클래스를 사용하며 그 밖의 것은 없습니다. 그는 자신의 활동에 대한 필드를 만들고 필요한 곳에 전달합니다. 그러나 현실 세계에서 버그 리포트는 검색 가능한 텍스트 줄을 가지고있을 것입니다. 내 시나리오는 확실히 그렇다. 이 텍스트가 모두 지속 서비스에 의해 빠져 나오면 텍스트 검색을 위해 어떻게해야합니까?

현실 세계에서 데이터로 무엇을합니까?

답변

2

간단한 키 또는 확인 된 외래 키의 경우 추적 서비스를 사용하여 키/값 쌍을 데이터베이스에 저장하고 나중에 추적 테이블의 추적 정보를 사용하여 쿼리 할 수 ​​있습니다.

전체 텍스트 검색을 위해 sql-persistence-service의 원본 테이블과 나란히 만드는 추가 테이블에 데이터를 저장할 수 있습니다. 워크 플로가 끝나거나 오류가 발생하면 수동으로 추가 및 삭제해야합니다.

+0

워크 플로 ID에서이 테이블의 키를 누르는 것이 맞습니까? 열쇠로서의 GUID가 SQL에서는 싫은 것이지만, 그렇지 않습니까? – ssg31415926

+0

예 이러한 테이블에서 WorkflowId를 GUID로 참조해야합니다. 개인적으로 GUID는 데이터베이스의 키에 적합한 선택이라고 생각합니다. 물론 파티셔닝 된 테이블 등이있는 시나리오가 있습니다. 정수이지만 일반적으로 객체는 일반적으로 런타임시 메모리에 프로그래밍 언어로 생성되고 데이터베이스의 "나중에"유지됩니다. 따라서 GUID는 데이터베이스에 유지함으로써 변경하지 않고 런타임에 객체 인스턴스의 ID를 메모리에 정의 할 수 있기 때문에 유용합니다. – Mischa

+0

충분합니다. 나는 아니야. DBA : 내가 한 말대로 해. :-) 원래 답변으로 돌아가서 워크 플로우가 끝나고 오류 발생시 드물게 (거의 초기에 발생하지 않는 한) 드물게 텍스트 검색 데이터를 삭제하기를 원하지 않는다고 생각합니다. 그렇게하면 사물이 단순해질 것입니다. 도와 주셔서 대단히 감사합니다. – ssg31415926

관련 문제