gpt4 book ai didi

MongoDB 未知鉴别器值

转载 作者:可可西里 更新时间:2023-11-01 09:37:00 26 4
gpt4 key购买 nike

我已经在这个问题的答案中添加了代码:Unknown discriminator value 'MyEvent' , 但它没有帮助。

反序列化 EventStore.EventMessage 类的 Body 属性时出错:未知的鉴别器值:“插入事件名称”。仅当您尝试在程序重新启动后重新水化已保存的对象时才会发生错误。

运行最新的 MyGet 构建

示例存储库:https://github.com/tonyeung/EventStore-MongoDB

重现问题:

运行程序
按 c 键创建新记录
按 q 退出
再次运行程序
但按 r 补充水分
错误触发器

如果您运行该程序,按 c,按 enter 继续,然后按 r 重新水化而不退出,则对象重新水化没有问题。什么?

        using (var eventStore = WireupEventStore())
{
var snapshot = eventStore.Advanced.GetSnapshot(ID, int.MaxValue);
if (snapshot == null)
{
// ERRORS HERE
using (var stream = eventStore.OpenStream(ID, 0, int.MaxValue))
{
var events = from s in stream.CommittedEvents
select s.Body as IEvent;

obj.LoadsFromHistory(events);
}
}
}

github 问题:https://github.com/NEventStore/NEventStore/issues/203

最佳答案

我想通了,因为我使用接口(interface)作为我的事件的标记,所以我不得不更改来自 SO 问题的查询

        var types = Assembly.GetAssembly(typeof(SimpleCQRS.Event))
.GetTypes()
.Where(type => type.IsSubclassOf(typeof(SimpleCQRS.Event)));

        var type = typeof(IEvent);
var types = Assembly.GetAssembly(typeof(IEvent))
.GetTypes()
.Where(t => type.IsAssignableFrom(t))
.Where(t => t.IsClass);

关于MongoDB 未知鉴别器值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17414492/

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