1

私はプロトタイプのCQRS実装に取り​​組んでおり、MSSQLサーバーでJonathanOliverのイベントストアを使用しようとしています。

 _store = Wireup.Init()
            .UsingSqlPersistence("EventStore")
                .InitializeDatabaseSchema()
            .UsingJsonSerialization()
            .Build();

app.configで定義された一致する接続文字列があります:

<connectionStrings>
    <add name="Business.Domain.Repository.Tests.Properties.Settings.EventStore"
        connectionString="Data Source=EventStore.sdf;" />
</connectionStrings>

SQL CE、ローカルSQL、リモートSQLサーバーの接続文字列のバリエーションを試しましたが、常に次のエラーが発生します。

    System.NullReferenceException was caught
  Message=Object reference not set to an instance of an object.
  Source=EventStore
  StackTrace:
       at EventStore.Persistence.SqlPersistence.SqlPersistenceFactory.GetDialect() in c:\Projects\Business\Proto1\EventStore\src\proj\EventStore.Persistence.SqlPersistence\SqlPersistenceFactory.cs:line 53
       at EventStore.Persistence.SqlPersistence.SqlPersistenceFactory.Build() in c:\Projects\Business\Proto1\EventStore\src\proj\EventStore.Persistence.SqlPersistence\SqlPersistenceFactory.cs:line 46
       at EventStore.SqlPersistenceWireup.<>c__DisplayClass4.<.ctor>b__1(NanoContainer c) in c:\Projects\Business\Proto1\EventStore\src\proj\EventStore.Wireup\SqlPersistenceWireup.cs:line 13
       at EventStore.ContainerRegistration.Resolve(NanoContainer container) in c:\Projects\Business\Proto1\EventStore\src\proj\EventStore.Wireup\NanoContainer.cs:line 66
       at EventStore.NanoContainer.Resolve[TService]() in c:\Projects\Business\Proto1\EventStore\src\proj\EventStore.Wireup\NanoContainer.cs:line 40
       at EventStore.PersistenceWireup.Build() in c:\Projects\Business\Proto1\EventStore\src\proj\EventStore.Wireup\PersistenceWireup.cs:line 47

誰かが以前にこれに遭遇したことがありますか、または私が間違っていることを知っていますか?ソースをステップスルーしてみましたが、null参照がある理由がわかりません。-スティーブ

4

1 に答える 1

3

方言検出を取り巻くエラー処理の一部を更新しています。接続文字列に「providerName」を追加する必要があります。例:

 <add name="Business.Domain.Repository.Tests.Properties.Settings.EventStore"
  providerName="System.Data.SqlServerCe.3.5"
  connectionString="Data Source=EventStore.sdf;" />

接続構成にproviderName属性があると、EventStoreはデータベースインスタンスに接続するときに使用するドライバーを知ることができます。

于 2011-04-14T01:34:29.887 に答える