private void CreateOneTableForEntity(Entity entity)
        {
            List <EntityField> fields = RecursiveFromEntityFieldsExtractor.Extract(entity);

            // create table by field list
            TableCreator tc = new TableCreator(DataConfiguration.OutputPath, entity.Name);

            tc.GenerateFile(entity.Name, fields);

            // create indexes by field list
            Indexes4TableCreator ic = new Indexes4TableCreator(DataConfiguration.OutputPath, entity.Name);

            ic.GenerateFile(entity.Name, fields);
        }
        private List <String> GenerateEntityFields(String tableName, String prefixName)
        {
            List <String>      result = new List <String>();
            Entity             entity = GetEntityByTableName(tableName);
            List <EntityField> fields = RecursiveFromEntityFieldsExtractor.Extract(entity);

            for (int i = 0; i < fields.Count; i++)
            {
                var currField = fields[i];
                if (currField.FieldType != EntityFieldType.Link2TableOrVirtaulPart)
                {
                    String fieldName   = currField.Name;
                    String fieldString = prefixName + "." + fieldName + " AS " + prefixName + fieldName;

                    result.Add(fieldString);
                }
            }

            return(result);
        }