protected override ISecuredSerializableObjectLayer CreateDefaultSecuredSerializableObjectLayer(IDataLayer dataLayer,
     RequestSecurityStrategyProvider securityStrategyProvider, EventHandler<DataServiceOperationEventArgs> committingDelegate,
     bool allowICommandChannelDoWithSecurityContext) {
     string connectionString = ((ConnectionProviderSql)((BaseDataLayer)dataLayer).ConnectionProvider).ConnectionString;
     var threadSafeDataLayer = new ThreadSafeDataLayer(dataLayer.Dictionary, new MultiDataStoreProxy(connectionString));
     return new SecuredSerializableObjectLayer(threadSafeDataLayer, securityStrategyProvider, allowICommandChannelDoWithSecurityContext);
 }
        protected override ISecuredSerializableObjectLayer CreateDefaultSecuredSerializableObjectLayer(IDataLayer dataLayer,
                                                                                                       RequestSecurityStrategyProvider securityStrategyProvider, EventHandler <DataServiceOperationEventArgs> committingDelegate,
                                                                                                       bool allowICommandChannelDoWithSecurityContext)
        {
            var    connectionProvider = ((BaseDataLayer)dataLayer).ConnectionProvider;
            string connectionString   = String.IsNullOrEmpty(_connectionstring) ? ((ConnectionProviderSql)connectionProvider).ConnectionString : _connectionstring;
            var    isFactorySupported = SequenceGenerator.IsFactorySupported(connectionProvider.GetType());
            var    dataStore          = isFactorySupported? new MultiDataStoreProxy(connectionString):connectionProvider;

            return(new SecuredSerializableObjectLayer(new ThreadSafeDataLayer(dataLayer.Dictionary, dataStore), securityStrategyProvider, allowICommandChannelDoWithSecurityContext));
        }
        protected override ISecuredSerializableObjectLayer CreateDefaultSecuredSerializableObjectLayer(IDataLayer dataLayer,
                                                                                                       RequestSecurityStrategyProvider securityStrategyProvider, EventHandler <DataServiceOperationEventArgs> committingDelegate,
                                                                                                       bool allowICommandChannelDoWithSecurityContext)
        {
            string connectionString    = ((ConnectionProviderSql)((BaseDataLayer)dataLayer).ConnectionProvider).ConnectionString;
            var    threadSafeDataLayer = new ThreadSafeDataLayer(dataLayer.Dictionary, new MultiDataStoreProxy(connectionString));

            return(new SecuredSerializableObjectLayer(threadSafeDataLayer, securityStrategyProvider, allowICommandChannelDoWithSecurityContext));
        }