public TEntity EndExecute(IAsyncResult ar) { var rs = InternalEndExecute(ar); Row row = rs.GetRows().FirstOrDefault(); if (row == null) { if (((MethodCallExpression)Expression).Method.Name == "First") { throw new InvalidOperationException("Sequence contains no elements."); } else if (((MethodCallExpression)Expression).Method.Name == "FirstOrDefault") { return(default(TEntity)); } } CqlColumn[] cols = rs.Columns; var colToIdx = new Dictionary <string, int>(); for (int idx = 0; idx < cols.Length; idx++) { colToIdx.Add(cols[idx].Name, idx); } var tag = (CqlQueryTag)Session.GetTag(ar); return(CqlQueryTools.GetRowFromCqlRow <TEntity>(row, colToIdx, tag.Mappings, tag.Alter)); }
internal IEnumerable <TEntity> AdaptRows(IEnumerable <Row> rows, Dictionary <string, int> colToIdx, CqlExpressionVisitor visitor) { foreach (Row row in rows) { yield return(CqlQueryTools.GetRowFromCqlRow <TEntity>(row, colToIdx, visitor.Mappings, visitor.Alter)); } }
public IEnumerable <TEntity> EndExecute(IAsyncResult ar) { using (var outp = InternalEndExecute(ar)) { QueryTrace = outp.Info.QueryTrace; var cols = outp.Columns; var colToIdx = new Dictionary <string, int>(); for (int idx = 0; idx < cols.Length; idx++) { colToIdx.Add(cols[idx].Name, idx); } var rows = outp.GetRows(); var tag = (CqlQueryTag)Session.GetTag(ar); foreach (var row in rows) { yield return(CqlQueryTools.GetRowFromCqlRow <TEntity>(row, colToIdx, tag.Mappings, tag.Alter)); } } }