1

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

在 Rebus 中使用 MongoDB 作为我的 saga 存储时,我也想做同样的事情。有没有办法做到这一点?

4

1 回答 1

1

好的,我的错...约定是使用 ConventionsRegistry 全局定义的

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

关键是 Register 方法的第三个参数,它充当过滤器以选择受约定影响的类(在我的情况下,我是按命名空间过滤的,这就是传奇数据未正确持久化的原因)。

于 2014-04-22T09:03:08.650 回答