public static void Initialize(IJetConnectionProvider connProvider, SdataContext context) { StoreEnvironmentItem item = null; lock (lockObj) { if (stat_EnvironmentItems.TryGetValue(context, out item)) { return; } item = new StoreEnvironmentItem(); item.Register <IJetConnectionProvider>(connProvider); TableAdapterFactory tableAdapterFactory = new TableAdapterFactory(context, connProvider); IResourceKindTableAdapter resourceKindTableAdapter = tableAdapterFactory.CreateResourceKindTableAdapter(); item.Register <IResourceKindTableAdapter>(resourceKindTableAdapter); IEndpointTableAdapter endpointTableAdapter = tableAdapterFactory.CreateEndpointTableAdapter(); item.Register <IEndpointTableAdapter>(endpointTableAdapter); item.Register <ISyncDigestTableAdapter>(tableAdapterFactory.CreateSyncDigestTableAdapter(resourceKindTableAdapter, endpointTableAdapter)); item.Register <IAppBookmarkTableAdapter>(tableAdapterFactory.CreateAppBookmarkTableAdapter(resourceKindTableAdapter)); item.Register <ITickTableAdapter>(tableAdapterFactory.CreateTickTableAdapter(resourceKindTableAdapter)); Dictionary <string, ICorrelatedResSyncTableAdapter> correlatedResSyncTableAdapters = new Dictionary <string, ICorrelatedResSyncTableAdapter>(); item.Register <Dictionary <string, ICorrelatedResSyncTableAdapter> >(correlatedResSyncTableAdapters); Dictionary <string, ISyncResultsTableAdapter> syncResultsTableAdapters = new Dictionary <string, ISyncResultsTableAdapter>(); item.Register <Dictionary <string, ISyncResultsTableAdapter> >(syncResultsTableAdapters); //item.Register<ISyncResultsTableAdapter>(tableAdapterFactory.CreateSyncResultsTableAdapter(resourceKindTableAdapter)); stat_EnvironmentItems.Add(context, item); } }