Esempio n. 1
0
        public string TypeDisplay()
        {
            var builder = new StringBuilder(TypeName)
                          .Append('[');

            if (Restrictions.Any())
            {
                builder.Append(Restrictions.First());
                foreach (var restriction in Restrictions.Skip(1))
                {
                    builder.Append(",").Append(restriction);
                }
            }
            else if (StoredLength > 0)
            {
                builder.Append(StoredLength);
            }
            else if (Precision > 0 || Scale > 0)
            {
                builder.Append(Precision).Append(',').Append(Scale);
            }
            else if (!string.IsNullOrEmpty(ForeignLinkPropName))
            {
                builder.Append(ForeignLinkPropName).Append('.').Append(ForeignPropName);
            }

            if (IsRequired)
            {
                if (builder[builder.Length - 1] != '[')
                {
                    builder.Append(", ");
                }
                builder.Append("not null");
            }
            if (builder[builder.Length - 1] == '[')
            {
                builder.Remove(builder.Length - 1, 1);
            }
            else
            {
                builder.Append(']');
            }
            return(builder.ToString());
        }