Initial Commit ...
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user