Exemplo n.º 1
0
 public void GetWordsTest_MyColumnName()
 {
     try
     {
         ObjectFactory.Current.Register(typeof(EnglishWords));
         var        nf = new NameFormatter();
         ColumnName cn = nf.GetColumnName("MY_COLUMN_NAME_", WordsExtraction.FromDictionary, EnglishNameFormat);
         Assert.AreEqual("MyColumnName", cn.PropertyName);
         cn = nf.GetColumnName("MY_COLUMN_NAME_", WordsExtraction.FromDictionary, EnglishNameFormatCamelCase);
         Assert.AreEqual("myColumnName", cn.PropertyName);
     }
     finally
     {
         ObjectFactory.Current.Unregister(typeof(EnglishWords));
     }
 }
Exemplo n.º 2
0
        /// <summary>
        /// Creates the name of the column.
        /// </summary>
        /// <param name="dbColumnName">Name of the db column.</param>
        /// <param name="dbTableName">Name of the db table.</param>
        /// <param name="dbSchema">The db schema.</param>
        /// <param name="nameAliases">The name aliases.</param>
        /// <param name="nameFormat">The name format.</param>
        /// <returns></returns>
        protected virtual ColumnName CreateColumnName(string dbColumnName, string dbTableName, string dbSchema, INameAliases nameAliases, NameFormat nameFormat)
        {
            var columnNameAlias = nameAliases != null?nameAliases.GetColumnMemberAlias(dbColumnName, dbTableName, dbSchema) : null;

            WordsExtraction extraction;

            if (columnNameAlias != null)
            {
                extraction = WordsExtraction.None;
            }
            else
            {
                extraction      = GetExtraction(dbColumnName);
                columnNameAlias = dbColumnName;
            }
            var columnName = NameFormatter.GetColumnName(columnNameAlias, extraction, nameFormat);
            // The member name can not be the same as the class
            // we add a "1" (just like SqlMetal does)
            var tableName = CreateTableName(dbTableName, dbSchema, nameAliases, nameFormat);

            if (columnName.PropertyName == tableName.ClassName)
            {
                columnName.PropertyName = columnName.PropertyName + "1";
            }

            if (startsWithNumber.IsMatch(columnName.PropertyName))
            {
                columnName.PropertyName = "_" + columnName.PropertyName;
            }

            columnName.DbName = dbColumnName;
            return(columnName);
        }