我在使用CQRS /事件源的應用程序中使用NEventStore。我WireUp如下所示:使用NEventStore的內置JSON序列化器對複雜類型進行序列化
return NEventStore.Wireup.Init()
.LogToOutputWindow()
.UsingInMemoryPersistence()
.UsingSqlPersistence("TestConnection")
.WithDialect(new MsSqlDialect())
.EnlistInAmbientTransaction()
.InitializeStorageEngine()
.UsingJsonSerialization()
.Build();
序列化包含內置的簡單數據類型的事件,比如字符串和INT工作正常。但是,當我嘗試序列化使用我定義的反序列化值爲空的結構的事件時。
我可能必須使用屬性標記我的事件的成員。但是NEventStore使用什麼方案? C#有很多選項(來自DataContract Serializer的屬性,來自XmlSerializer的屬性......)。
我也想知道序列化有什麼限制。 NEventStore是否需要公共的空構造函數?公開二傳手?或者我可以使用只讀字段(我的首選項)。
我一直無法弄清Json序列化器NEventStore使用什麼。它似乎不是NetwonSoft的那個,因爲它有一個單獨的nuget包。
它使用[Json.Net](https://github.com/NEventStore/NEventStore/blob/master/src/NEventStore/Serialization/JsonSerializer.cs) – MikeSW