gpt4 book ai didi

ravendb - 我需要怎么做才能在RavenDB中存储对象?

转载 作者:行者123 更新时间:2023-12-04 03:40:24 24 4
gpt4 key购买 nike

我正在使用ravendb序列化对象并通过mstest对其进行测试。

我收到此结果:System.ArgumentException: Object serialized to String. RavenJObject instance expected.
这是我的代码

public class Store
{
private static IDocumentStore store = createStore();

private static EmbeddableDocumentStore createStore()
{
var returnStore = new EmbeddableDocumentStore();
returnStore.DataDirectory = @"./PersistedData";
returnStore.Initialize();
return returnStore;
}

public static void Write(string value)
{
using (var session = store.OpenSession())
{
session.Store(value);
session.SaveChanges();
}
}
}

似乎根本原因在于RavenJObject的工作方式,因为这会引发相同的错误:
RavenJObject storeMe = RavenJObject.FromObject("errors", new JsonSerializer());

如何在RavenDB中进行自定义序列化?

最佳答案

要对您没有编写的类进行自定义序列化(因此您无法属性化),则要实现Newtonsoft.Json.JsonConverter

然后像这样注册它:

using (var session = store.OpenSession())
{
session.Advanced.Conventions.CustomizeJsonSerializer = serializer => serializer.Converters.Add(MailAddressJsonConverter.Instance);
session.Store(mailAddress);
session.SaveChanges();
}

关于ravendb - 我需要怎么做才能在RavenDB中存储对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6514491/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com