public virtual string GetParam(PropertyBuilder property, ColumnSelection selection) { if (property.ColumnType == null || !selection.HasFlag(ColumnSelection.Write)) { return($"@{property.Name}"); } else { return($"CAST(@{property.Name} AS {property.ColumnType})"); } }
public virtual string GetColumn(PropertyBuilder property, ColumnSelection selection, string alias) { var escapedName = EscapeColumnName(property.Name); if (property.ComputedColumnSql != null) { return($"{property.ComputedColumnSql} AS {escapedName}"); } var escapedColumnName = GetColumnName(property); var aliasedColumnName = alias != null ? $"{alias}.{escapedColumnName}" : escapedColumnName; if (!string.Equals(escapedColumnName, escapedName, MappingComparison) && !selection.HasFlag(ColumnSelection.Write)) { return($"{aliasedColumnName} AS {escapedName}"); } return(aliasedColumnName); }
public virtual bool IsSelected(PropertyBuilder property, ColumnSelection selection) { return(!property.Ignored && ((property.IsKey && selection.HasFlag(ColumnSelection.Keys)) || (!property.IsKey && selection.HasFlag(ColumnSelection.NonKeys))) && (property.ComputedColumnSql == null || selection.HasFlag(ColumnSelection.Computed))); }