/// <summary>Renders member/property that contains parent entity.</summary>
        /// <param name="fk">Foreign key meta data.</param>
        /// <param name="memberType">Class item type.</param>
        /// <param name="classItemTemplate">Naming convention template.</param>
        /// <param name="prefixesToRemove">Table name prefixes to remove from item name.</param>
        /// <param name="tableSuffix">Sufix to append.</param>
        /// <returns>Class member mapped to foreign key.</returns>
        public string RenderParentMember(ForeignKey fk, NetClassItem memberType, IClassItemNamingConvention classItemTemplate, string[] prefixesToRemove, string tableSuffix)
        {
            // Used by template based generator.
            StringBuilder memberName = new StringBuilder();
            ApplyPrefix(memberName);
            RenderTableNameWithoutSpecifiedPrefixes(fk, classItemTemplate, memberName, prefixesToRemove);
            ApplySuffixes(fk, classItemTemplate, memberName, tableSuffix, this.delimiter, this.appendChildFields);
            if (memberName.Length < 1)
                throw new Exception("Specified options yielded with an empty parent member name.");

            ApplyNetClassItem(memberType, memberName);
            return memberName.ToString();
        }
 private static void ApplyNetClassItem(NetClassItem memberType, StringBuilder memberName)
 {
     switch (memberType)
     {
         case NetClassItem.LocalVariable:
             memberName[0] = char.ToLower(memberName[0]);
             break;
         case NetClassItem.PrivateMember:
             memberName[0] = char.ToLower(memberName[0]);
             //memberName.Insert(0, '_');
             break;
         case NetClassItem.ProtectedMember:
             memberName[0] = char.ToUpper(memberName[0]);
             memberName.Insert(0, '_');
             break;
         case NetClassItem.PublicProperty:
             memberName[0] = char.ToUpper(memberName[0]);
             break;
         default:
             throw new Exception("Unsupported NetClassItem: " + memberType.ToString());
     }
 }