/// <summary> /// Adds the given executer to the manager. /// </summary> /// <param name="queryExecuter"></param> public void AddExecuter(IQueryExecuter queryExecuter) { if (queryExecuter is null) { throw new ArgumentNullException(nameof(queryExecuter)); } if (_executers.Contains(queryExecuter)) { throw new ArgumentException($"Query executer '{queryExecuter.GetType().FullName}' was added already.", nameof(queryExecuter)); } if (queryExecuter is QueryExecutionManager) { throw new ArgumentException("Cannot add another query manager to this query manager instance.", nameof(queryExecuter)); } _executers.Add(queryExecuter); }