当我在MongoDB中存储我的域时,我使用自定义约定(如here中所述)以便将我的枚举保持为字符串表示,因为我们发现在调试时它更容易。
我想在使用MongoDB作为Rebus中的传奇存储时也这样做。有没有办法做到这一点?
答案 0 :(得分:1)
好的,我的错......使用ConventionsRegistry
全局定义约定var conventions = new ConventionPack();
conventions.Add(new EnumSerializationConvention(BsonType.String));
ConventionRegistry.Register("Saga conventions", conventions, x => true);
密钥是Register方法的第三个参数,它充当过滤器来选择受约定影响的类(在我的例子中,我是通过命名空间过滤,这就是saga数据不是的原因) beign坚持正确)。