public static TypedSqlField From(Type entityType, Type fieldType, ISqlAlias alias, string name, string asAlias = null) { if (name == null) { throw new ArgumentNullException(nameof(name)); } return(new TypedSqlField(entityType, fieldType) { Alias = alias, Name = name, AsAlias = asAlias }); }
private ISqlField CreateSqlField <TEntity>(string name, ISqlAlias alias) { if (string.IsNullOrWhiteSpace(name)) { throw new ArgumentException(nameof(name)); } if (alias == null) { throw new ArgumentNullException(nameof(alias)); } return(new SqlField <TEntity> { Name = name, Alias = alias }); }
protected ISqlField[] CreateSqlFields <TEntity>(ISqlAlias alias, IEnumerable <Expression <Func <TEntity, object> > > fields) { return(fields.Select(f => CreateSqlField <TEntity>(MetadataProvider.GetPropertyName(f), alias)).ToArray()); }
public SqlSelect(ISqlSelect innerSqlSelect, ISqlAlias alias) : this(innerSqlSelect, new SqlSelectInfo(alias), new SqlSelectWrapperQueryBuilder(innerSqlSelect)) { }
public SqlSelectInfo(ISqlAlias alias) { Alias = alias ?? throw new ArgumentNullException(nameof(alias)); }
protected static string GetFieldName(LambdaExpression field, ISqlAlias alias) => alias.Value + "." + MetadataProvider.Instance.GetPropertyName(field);
public T ComparisonFilter <T, TAlias>(string logicOperator, LambdaExpression field, ISqlAlias alias) { if (field == null) { throw new ArgumentNullException(nameof(field)); } alias = CheckAlias <TAlias>(alias); var sqlField = new SqlField <TEntity>() { Alias = alias, Name = MetadataProvider.Instance.GetPropertyName(field) }; return(ComparisonFilter <T>(logicOperator, sqlField)); }
private ISqlAlias CheckAlias <T>(ISqlAlias alias) => alias ?? MetadataProvider.Instance.AliasFor <T>();