/// <summary>
        /// クラスソースを作成する
        /// </summary>
        /// <param name="info"></param>
        /// <param name="table"></param>
        /// <param name="filePath"></param>
        /// <returns></returns>

        private string CreateSourceCode(SourceGenerateTemplate.TemplatesRow info, TableList table, string filePath)
        {
            string folder = System.IO.Path.GetFileName(filePath).ToLower();
            //Create Class
            string classTemp = info.ClassTemplace;
            Dictionary <string, string> replaceKeys = new Dictionary <string, string>();
            var columns = LinqSqlHelp.GetTableLayout(table.TableName);

            replaceKeys.Add("@Folder", folder);
            replaceKeys.Add("@TableNameCamelU", this.GetCamelName(table.TableName, true));
            replaceKeys.Add("@TableNameCamelL", this.GetCamelName(table.TableName, false));
            replaceKeys.Add("@TableName", table.TableName);
            replaceKeys.Add("@TableDisplayName", table.TableDisplayName);
            replaceKeys.Add("@TableComment", table.Comment);
            replaceKeys.Add("@Coulmns", this.GetColumns(info, columns));
            replaceKeys.Add("@KEY", this.GetKeys(info, columns));
            return(Replacekeyword(classTemp, replaceKeys));
        }
        private string GetKeys(SourceGenerateTemplate.TemplatesRow info, IList <TableLayoutInfo> columns)
        {
            StringBuilder sb = new StringBuilder();

            sb.Append("@Key(");
            int index = 0;

            foreach (var column in columns)
            {
                if (column.IsPrimaryKey)
                {
                    if (index > 0)
                    {
                        sb.Append(",");
                    }
                    sb.Append(column.ColumnName);
                    index++;
                }
            }
            sb.Append(")");
            return(sb.ToString());
        }
        private string GetColumns(SourceGenerateTemplate.TemplatesRow info, IList <TableLayoutInfo> columns)
        {
            StringBuilder sb = new StringBuilder();

            string[] ignoreColumns = info.GetIgnoreColumns();
            foreach (var col in columns)
            {
                if (ignoreColumns.Any(x => x.Equals(col.ColumnName.ToLower(), StringComparison.CurrentCultureIgnoreCase)))
                {
                    continue;
                }
                Dictionary <string, string> replaceKeys = new Dictionary <string, string>();
                replaceKeys.Add("@ColumnComment", col.Comment);
                replaceKeys.Add("@DataType", col.GetDataTypeForJava());
                replaceKeys.Add("@FieldDisplayName", col.ColumnDisplayName);
                replaceKeys.Add("@FieldName", col.ColumnName);
                replaceKeys.Add("@FieldNameCamelU", GetCamelName(col.ColumnName, true));
                replaceKeys.Add("@FieldNameCamelL", GetCamelName(col.ColumnName, false));
                replaceKeys.Add("@KEY", col.IsPrimaryKey? " [Key(" + col.ColumnName + ")]":"");
                sb.AppendLine(Replacekeyword(info.FieldTemplace, replaceKeys));
            }
            return(sb.ToString());
        }