Looking at this:
var t = ctx.Layer
.Where(c => c.Geometry.Intersects(boundingBox))
.Select(s => new
{
Geometry = SqlSpatialFunctions.Reduce(s.Geometry, degreesPerPixel),
s.column1,
s.column2,
s.column3,
s.column4,
s.column5,
s.column6,
s.column7,
s.column8,
s.column9,
}).ToArray();
its rather anoying that one would have to write all the columns again just to run a function on a column. Is there better ways to do this?