Exemple #1
0
        public string GetSelectFields(CslaObjectInfo info)
        {
            StringBuilder sb = new StringBuilder();

            sb.Append(Indent(2) + "SELECT" + Environment.NewLine);
            bool first = true;
            ValuePropertyCollection vpc = new ValuePropertyCollection();

            if (IncludeParentProperties)
            {
                vpc.AddRange(info.GetParentValueProperties());
            }
            vpc.AddRange(info.GetAllValueProperties());
            foreach (ValueProperty prop in vpc)
            {
                if (prop.DataAccess != ValueProperty.DataAccessBehaviour.WriteOnly)
                {
                    if (!first)
                    {
                        sb.Append("," + Environment.NewLine);
                    }
                    else
                    {
                        first = false;
                    }
                    sb.Append(Indent(3) + " ");
                    if (prop.DbBindColumn.DataType.ToString() == "StringFixedLength")
                    {
                        sb.Append("RTRIM(");
                        sb.Append("[" + GetCorrelationName(prop) + "].[" + prop.DbBindColumn.ColumnName + "]" + ")");
                        sb.Append(String.Format(" AS [{0}]", prop.ParameterName));
                    }
                    else
                    {
                        sb.Append("[" + GetCorrelationName(prop) + "].[" + prop.DbBindColumn.ColumnName + "]");
                        if (prop.DbBindColumn.ColumnName != prop.ParameterName)
                        {
                            sb.Append(String.Format(" AS [{0}]", prop.ParameterName));
                        }
                    }
                }
            }
            sb.Append(Environment.NewLine);
            return(sb.ToString());
        }