Joliver EventStore Ошибка - PullRequest
       39

Joliver EventStore Ошибка

1 голос
/ 14 апреля 2011

Я работаю над прототипом реализации CQRS и пытаюсь использовать хранилище событий Джонатана Оливера с сервером MS SQL:

 _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

Кто-нибудь сталкивался с этим раньше или имеет представление о том, что я делаю неправильно? Я попытался пройтись по источнику и до сих пор не уверен, почему есть нулевая ссылка. -Стив

1 Ответ

3 голосов
/ 14 апреля 2011

Я обновляю некоторые обработки ошибок, связанные с обнаружением диалекта. Вам нужно будет добавить «providerName» в строку подключения, например ::

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

Наличие атрибута providerName в конфигурации соединения позволяет EventStore знать, какой драйвер использовать при подключении к вашему экземпляру базы данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...