2009-12-02 71 views
1

我正在使用Workflow Foundation中的持久性和跟蹤服務,我認爲在SQL Server中爲工作流程使用單獨的模式是個好主意。Workflow Foundation獨立模式

不幸的是,它們似乎將默認的dbo架構名稱硬編碼到他們的代碼中。一個例子是SqlTrackingService類。由於他們編寫跟蹤類的方式,我無法重寫提供我自己的db查詢代碼的方法。

我曾想過下面的選項,但有些不似乎是可能的:(?牌違規)

  • 重新從頭開始寫跟蹤
  • 拆卸與重新編寫跟蹤文件
  • 某種方式攔截和重寫SQL查詢
  • 某種方式將其誘騙使用的SqlCommand的定製版本,其過濾的CommandText
  • 只要繼續使用dbo架構用於W F stuff
  • 爲WF使用完全獨立的數據庫。

有沒有人有任何建議或選擇我沒有考慮過?謝謝。

回答

1

在大多數情況下,我只接受dbo方案,有時會將事情移入單獨的數據庫中。據我所知,沒有辦法攔截命令並重寫方案或表名,但我從來沒有嘗試過。如果你想重寫,我做了一個端口,SqlCeWorkflowPersistenceService,到SQLCe和LinqToSql。隨意使用和/或修改它以適應您的需求。代碼見here。它與默認的SqlWorkflowPersistenceService幾乎完全相同,除了所有權部分被破壞之外。

+0

謝謝。我想使用dbo模式或使用不同的數據庫是最簡單的路線。 但是,我確實找到了攔截​​和重寫sql查詢的方法。雖然不是很乾淨,但它確實做我想要的,也可能有其他用途。 – Dan 2009-12-03 16:34:53