0

我在将对象保存到 Ravendb 时遇到问题。每次我将对象保存到 Ravendb 时,它只会将其保存在 Raven/Hilo/LoggingMessages { "Max": 32 } 我什至没有在 LoggingMessages 类上名为 Max 的属性。而且,它一直在这样做。

我在一个使用 NserviceBus 的项目中使用了这个 Ravendb。我的假设是 NserviceBus 使用的 Ravendb 客户端库与其他 Ravendb 客户端不同。因为我在其他没有 NserviceBus 的项目中保存 LoggingMessage 类型的对象没有问题。

LoggingMessage errormessage = new LoggingMessage(); 
errormessage.MessageBody = "test"; 
errormessage.MessageId = "test"; 

using (var store = new DocumentStore { ConnectionStringName = "RavenDB" } ) 
{ 
    store.Initialize(); 
    using (var session = store.OpenSession()) 
    { 
        session.Store(errormessage); 
        session.SaveChanges(); 
    } 
} 
4

1 回答 1

0

这就是 RavenDB 生成 ID 的方式。它是一个系统文件。别担心。

可能发生的情况是您将此文档保存到 NServiceBus 正在使用的数据库中,但您正在查看 RavenDB 系统数据库,或者您正在将其写入单独的数据库。

在 Raven Studio 中,检查右上角的“数据库”列表。

在您的代码中,您可以在连接字符串中设置数据库名称,或者作为new DocumentStore构造函数的参数,或者作为OpenSession方法的参数。

于 2013-09-05T03:38:10.307 回答