public EntityIdentityMapImpl(EntityObjectStore objectStore) { ObjectStore = objectStore; }
public override INakedObjectPersistor CreateObjectPersistor() { if (!isContextSet) { throw new InitialisationException(@"No context set on EntityPersistorInstaller, must call either ""UsingCodeFirstContext"" or ""UsingEdmxContext"""); } IEnumerable<CodeFirstEntityContextConfiguration> cfConfigs = DbContextConstructors.Select(f => new CodeFirstEntityContextConfiguration {DbContext = f.Item1, PreCachedTypes = f.Item2, NotPersistedTypes = NotPersistedTypes}); IEnumerable<EntityContextConfiguration> config = PocoConfiguration().Union(cfConfigs); var oidGenerator = new EntityOidGenerator(); var objectStore = new EntityObjectStore(config.ToArray(), oidGenerator); EntityObjectStore.EnforceProxies = EnforceProxies; EntityObjectStore.RequireExplicitAssociationOfTypes = RequireExplicitAssociationOfTypes; EntityObjectStore.RollBackOnError = RollBackOnError; EntityObjectStore.MaximumCommitCycles = MaximumCommitCycles; EntityObjectStore.IsInitializedCheck = IsInitializedCheck; return new ObjectStorePersistor { ObjectStore = objectStore, PersistAlgorithm = new EntityPersistAlgorithm(), OidGenerator = oidGenerator, IdentityMap = new EntityIdentityMapImpl(objectStore) {IdentityAdapterMap = identityAdapterMap, PocoAdapterMap = pocoAdapterMap} }; }