using MongoDB.Driver; namespace xDataService.Mongo { public static class XMongoReadPreferenceResolver { public static ReadPreference GetEffectiveReadPreference ( IClientSessionHandle session, ReadPreference explicitReadPreference, ReadPreference defaultReadPreference) { if (explicitReadPreference != null) { return explicitReadPreference; } if (session.IsInTransaction) { var transactionReadPreference = session.WrappedCoreSession.CurrentTransaction.TransactionOptions.ReadPreference; if (transactionReadPreference != null) { return transactionReadPreference; } } return defaultReadPreference ?? ReadPreference.Primary; } } }