ISqlSelect ISqlSelect.AddFields<TEntity>(SqlAlias<TEntity> alias, params Expression<Func<TEntity, object>>[] fields) { if (alias == null) MetadataProvider.AliasFor<TEntity>(); return AddFields(alias, fields); }
public SqlSelect<T> FullJoin<TLeft, TJoin>(Expression<Func<TLeft, TJoin, bool>> condition, SqlAlias<TLeft> leftAlias = null, SqlAlias<TJoin> joinAlias = null) { if (condition == null) throw new ArgumentNullException(nameof(condition)); if (leftAlias == null) leftAlias = MetadataProvider.AliasFor<TLeft>(); if (joinAlias == null) joinAlias = MetadataProvider.AliasFor<TJoin>(); return FullJoin(GetJoinFilter(condition.Body as BinaryExpression, leftAlias, joinAlias), joinAlias); }
public SqlSelect<T> GroupBy<TEntity>(params Expression<Func<TEntity, object>>[] fields) { if (fields == null) throw new ArgumentNullException(nameof(fields)); return GroupBy(CreateSqlFields(MetadataProvider.AliasFor<TEntity>(), fields)); }