首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >配置NEventStore方言时出现问题

配置NEventStore方言时出现问题
EN

Stack Overflow用户
提问于 2011-04-14 06:26:20
回答 1查看 660关注 0票数 1

我正在开发一个原型CQRS实现,并尝试将Jonathan Oliver的事件存储与MS SQL server结合使用:

代码语言:javascript
复制
 _store = Wireup.Init()
            .UsingSqlPersistence("EventStore")
                .InitializeDatabaseSchema()
            .UsingJsonSerialization()
            .Build();

我在app.config中定义了一个匹配的连接字符串:

代码语言:javascript
复制
<connectionStrings>
    <add name="Business.Domain.Repository.Tests.Properties.Settings.EventStore"
        connectionString="Data Source=EventStore.sdf;" />
</connectionStrings>

我尝试了SQL CE、本地SQL和远程SQL服务器的连接字符串的变体,但总是收到以下错误:

代码语言:javascript
复制
    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

以前有没有人遇到过这种情况,或者知道我做错了什么?我尝试单步执行源代码,但仍然不确定为什么会有空引用。-Steve

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-04-14 09:34:30

我正在更新一些围绕方言检测的错误处理。您需要在连接字符串中添加"providerName“,例如:

代码语言:javascript
复制
 <add name="Business.Domain.Repository.Tests.Properties.Settings.EventStore"
  providerName="System.Data.SqlServerCe.3.5"
  connectionString="Data Source=EventStore.sdf;" />

在连接配置中具有providerName属性允许EventStore知道在连接到数据库实例时使用哪个驱动程序。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5656413

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档