public override void Initialize(Domain ownerDomain, TupleDescriptor keyTupleDescriptor) { var accessor = ownerDomain.Services.Demand <IStorageSequenceAccessor>(); sequenceProvider = ownerDomain.StorageProviderInfo.Supports(ProviderFeatures.TransactionalKeyGenerators) ? new SessionCachingSequenceProvider <TValue>(accessor) : (ICachingSequenceProvider <TValue>) new DomainCachingSequenceProvider <TValue>(accessor); }
public override void Initialize(Domain ownerDomain, TupleDescriptor keyTupleDescriptor) { prototype = Tuple.Create(keyTupleDescriptor); var accessor = ownerDomain.Services.Demand <IStorageSequenceAccessor>(); if (ownerDomain.StorageProviderInfo.Supports(ProviderFeatures.TransactionalKeyGenerators)) { sequenceProvider = new SessionCachingSequenceProvider <TValue>(accessor); } else { sequenceProvider = new DomainCachingSequenceProvider <TValue>(accessor); } }