示例#1
0
 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})");
     }
 }
示例#2
0
        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);
        }
示例#3
0
 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)));
 }