/// <summary> /// Initializes a new instance of the <see cref="EntityManager" /> class. /// </summary> /// <param name="factoryContext"> /// The entity manager factory context. /// </param> /// <param name="bindingContext"> /// The binding context. /// </param> internal EntityManager(FactoryContext factoryContext, BindingContext bindingContext) { this.DefaultBehaviors = Behaviors.CreateLazy; this.entityContext = new EntityContext(factoryContext, bindingContext); }
/// <summary> /// Persist the given entity using the behavior specified. /// </summary> /// <param name="entityContext"> /// The entity context. /// </param> /// <param name="entity"> /// The entity to persist. /// </param> /// <param name="ignoreKeys"> /// The keys to ignore. /// </param> /// <param name="behaviors"> /// The behaviors. /// </param> /// <typeparam name="T"> /// The entity type. /// </typeparam> internal static void Persist <T>(EntityContext entityContext, T entity, ISet <Key> ignoreKeys, Behaviors behaviors) where T : class { var entitiesWritten = behaviors.WriteOnce() ? entityContext.EntitiesWritten : new IdentitySet(); Persist(entityContext, typeof(T), entity, ignoreKeys, behaviors, entitiesWritten, true, true); }