在文档中,它提供了以下有关设置持久性的信息:
// Use NHibernate for all persistence concerns
endpointConfiguration.UsePersistence<NHibernatePersistence>();
OR
// or select specific concerns <------- ??????
endpointConfiguration.UsePersistence<NHibernatePersistence, StorageType.Sagas>();
endpointConfiguration.UsePersistence<NHibernatePersistence, StorageType.Subscriptions>();
endpointConfiguration.UsePersistence<NHibernatePersistence, StorageType.Timeouts>();
endpointConfiguration.UsePersistence<NHibernatePersistence, StorageType.Outbox>();
我继承了此代码,注意其中包含了“ UsePersistence<NHibernatePersistence>()
”,而无需担心:
endpointConfiguration.UsePersistence<NHibernatePersistence>();
endpointConfiguration.UsePersistence<NHibernatePersistence, StorageType.Sagas>();
endpointConfiguration.UsePersistence<NHibernatePersistence, StorageType.Subscriptions>();
endpointConfiguration.UsePersistence<NHibernatePersistence, StorageType.Timeouts>();
endpointConfiguration.UsePersistence<NHibernatePersistence, StorageType.Outbox>();
endpointConfiguration.UsePersistence<NHibernatePersistence, StorageType.GatewayDeduplication>();
我的问题
可以在我们的代码构建方式中使用“ UsePersistence<NHibernatePersistence>()
”吗?我似乎找不到确切的答案。
答案 0 :(得分:3)
是的,这完全可以。第一行:
endpointConfiguration.UsePersistence<NHibernatePersistence>();
将所有存储类型的持久性设置为NHibernate。后续各行针对特定的存储类型“覆盖”此配置。我将“ override”一词用引号引起来,因为它会覆盖具有相同原始值的特定存储类型。换句话说,他们正在用NHibernate覆盖NHibernate。
在此示例中,您只需要第一行,其余的都是多余的。也就是说,发布的代码应该可以正常工作。
这是in the docs的完整说明。