2013-03-30 45 views
2

十六進制字符串至於我可以告訴我應該有JSON顯示有效載荷列在我的SQL數據庫提交表,但是,我有很長的十六進制字符串。EventStore只顯示在有效載荷列

我wireup代碼是按照與下面編輯樣品:

private static IStoreEvents WireupEventStore() 
{ 
     return Wireup.Init() 
     .LogToOutputWindow() 
     .UsingInMemoryPersistence() 
     .UsingSqlPersistence("EventStore") // Connection string is in app.config 
      .WithDialect(new MsSqlDialect()) 
      .EnlistInAmbientTransaction() // two-phase commit 
      .InitializeStorageEngine() 
      .UsingJsonSerialization() 
     .HookIntoPipelineUsing(new[] { new AuthorizationPipelineHook() }) 
     .UsingSynchronousDispatchScheduler() 
      .DispatchTo(new DelegateMessageDispatcher(DispatchCommit)) 
     .Build(); 
} 

任何想法如何獲得JSON和使調試更容易?

回答

1

與此類似,會得到有效載荷列的字符串內容的查詢:

Commits 
.Select(c => System.Text.Encoding.UTF8.GetString(c.Payload.ToArray())) 
.ToList(); 
2

只需創建以下幾種觀點:

CREATE VIEW [dbo].[DeserializedCommits] 
    AS 
    SELECT 
     [StreamId] 
     ,[StreamRevision] 
     ,[Items] 
     ,[CommitId] 
     ,[CommitSequence] 
     ,[CommitStamp] 
     ,[Dispatched] 
     ,CAST([Headers] AS VARCHAR(MAX)) AS [Headers] 
     ,CAST([Payload] AS VARCHAR(MAX)) AS [Payload] 
    FROM [dbo].[Commits] 

可以比查詢您的事件存儲爲特定的在Payload列上使用LIKE的事件。