/// <summary> /// Executes this operation /// </summary> /// <param name="rows">The rows.</param> /// <returns></returns> public override IEnumerable <Row> Execute(IEnumerable <Row> rows) { IEnumerable <Database> dbQuery = from db in Client.CreateDatabaseQuery() where db.Id == DocumentDatabase select db; Database database = dbQuery.FirstOrDefault(); var collection = Client.CreateDocumentCollectionQuery(database.CollectionsLink).Where(coll => coll.Id == DocumentCollection).AsEnumerable().FirstOrDefault(); var query = Client.CreateDocumentQuery(collection.DocumentsLink, this.Command); EnumerableDataReader reader = new DocumentDbDataReader(query.AsEnumerable()); while (reader.Read()) { yield return(CreateRowFromReader(reader)); } //Client.CreateDocumentCollectionQuery(this.EndpointUrl, ) // Client = new DocumentClient(new Uri(ConfigurationManager.AppSettings[EndpointUrl]), // ConfigurationManager.AppSettings[EndpointKey], // new ConnectionPolicy { ConnectionMode = ConnectionMode.Direct, ConnectionProtocol = Protocol.Tcp }); /* * using (currentCommand = connection.CreateCommand()) * { * currentCommand.Transaction = transaction; * PrepareCommand(currentCommand); * using (IDataReader reader = currentCommand.ExecuteReader()) * { * while (reader.Read()) * { * yield return CreateRowFromReader(reader); * } * } * } * * if (transaction != null) transaction.Commit();*/ }
/// <summary> /// Executes this operation /// </summary> /// <param name="rows">The rows.</param> /// <returns></returns> public override IEnumerable<Row> Execute(IEnumerable<Row> rows) { IEnumerable<Database> dbQuery = from db in Client.CreateDatabaseQuery() where db.Id == DocumentDatabase select db; Database database = dbQuery.FirstOrDefault(); var collection = Client.CreateDocumentCollectionQuery(database.CollectionsLink).Where(coll => coll.Id == DocumentCollection).AsEnumerable().FirstOrDefault(); var query = Client.CreateDocumentQuery(collection.DocumentsLink, this.Command); EnumerableDataReader reader = new DocumentDbDataReader(query.AsEnumerable()); while (reader.Read()) { yield return CreateRowFromReader(reader); } //Client.CreateDocumentCollectionQuery(this.EndpointUrl, ) // Client = new DocumentClient(new Uri(ConfigurationManager.AppSettings[EndpointUrl]), // ConfigurationManager.AppSettings[EndpointKey], // new ConnectionPolicy { ConnectionMode = ConnectionMode.Direct, ConnectionProtocol = Protocol.Tcp }); /* using (currentCommand = connection.CreateCommand()) { currentCommand.Transaction = transaction; PrepareCommand(currentCommand); using (IDataReader reader = currentCommand.ExecuteReader()) { while (reader.Read()) { yield return CreateRowFromReader(reader); } } } if (transaction != null) transaction.Commit();*/ }