在MongoDb中持久保存Rebus sagas时使用自定义约定

时间:2014-04-21 13:43:16

标签: c# mongodb rebus

当我在MongoDB中存储我的域时,我使用自定义约定(如here中所述)以便将我的枚举保持为字符串表示,因为我们发现在调试时它更容易。

我想在使用MongoDB作为Rebus中的传奇存储时也这样做。有没有办法做到这一点?

1 个答案:

答案 0 :(得分:1)

好的,我的错......使用ConventionsRegistry

全局定义约定
var conventions = new ConventionPack();
conventions.Add(new EnumSerializationConvention(BsonType.String));
ConventionRegistry.Register("Saga conventions", conventions, x => true);

密钥是Register方法的第三个参数,它充当过滤器来选择受约定影响的类(在我的例子中,我是通过命名空间过滤,这就是saga数据不是的原因) beign坚持正确)。