Beispiel #1
0
        public List <T2> ProjectTo <T2>(Expression <Func <T, T2> > projectionExpression)
        {
            var types = new[] { typeof(T) }.Concat(_joinSqlExpressions.Values.Select(x => x.Type)).ToArray();
            var sql   = _buildComplexSql.GetSqlForProjection(projectionExpression, types, false);

            return(_database.Query <T>(types, null, sql).Select(projectionExpression.Compile()).ToList());
        }
Beispiel #2
0
        public List <T2> ProjectTo <T2>(Expression <Func <T, T2> > projectionExpression)
        {
            var sql = _buildComplexSql.GetSqlForProjection(projectionExpression, false);

            return(ExecuteQuery(sql).Select(projectionExpression.Compile()).ToList());
        }
Beispiel #3
0
        public async Task <List <T2> > ProjectTo <T2>(Expression <Func <T, T2> > projectionExpression)
        {
            var sql = _buildComplexSql.GetSqlForProjection(projectionExpression, false);

            return((await _database.QueryAsync <T>(sql).ConfigureAwait(false)).Select(projectionExpression.Compile()).ToList());
        }