我正在使用EmbdeddedDocumentStore
,在单元测试我的应用程序时运行在内存中。
我的帐户注册控制器需要为租户创建一个新数据库。它正在调用EnsureDatabaseExists(newTenantId)
。
这会导致以下异常:
Multiple databases are not supported in the embedded API currently
我该如何解决这个问题?我是否必须启动非嵌入式RavenDB服务器?
答案 0 :(得分:1)
假设您希望在测试期间实际针对嵌入式RavenDB内存中实例运行,并且您在生产中使用完整的RavenDB服务器,那么您只需添加一些代码来检查您正在使用的风格:
if (!(documentStore is EmbeddableDocumentStore))
documentStore.DatabaseCommands.EnsureDatabaseExists(newTenantId);
您还需要确保在打开会话时不要尝试切换到newTenantId
数据库。你也可能需要一些条件逻辑。
答案 1 :(得分:0)
错误消息似乎很清楚......要么将代码更改为不需要多个数据库,要么使用非嵌入式存储,或者唠叨RavenDB人员添加对此方案的支持。