public static void LoadFromSystemDB(MieSystemDB systemDB, MieCharacterAttributeFile charAttr)
        {
            SQLiteCommand command = systemDB.Connection.CreateCommand();

            command.CommandText = @"SELECT * FROM CharacterAttributes;";
            using (SQLiteDataReader sdr = command.ExecuteReader())
            {
                while (sdr.Read() == true)
                {
                    var byteID        = (byte[])sdr["ID"];
                    var name          = (string)sdr["Name"];
                    var intGender     = (long)sdr["Gender"];
                    var byteSpeakerID = (byte[])sdr["SpeakerID"];
                    var byteRaceID    = (byte[])sdr["RaceID"];

                    Guid id        = new Guid(byteID);
                    Guid speakerID = new Guid(byteSpeakerID);
                    Guid raceID    = new Guid(byteRaceID);

                    MieCharacterAttributeFile.NGender gender =
                        (MieCharacterAttributeFile.NGender)Enum.ToObject(typeof(MieCharacterAttributeFile.NGender), intGender);

                    MieCharacterAttributeEntry charEntry = new MieCharacterAttributeEntry(id, name, gender, speakerID, raceID);
                    charAttr.AddCharacterAttributeEntry(charEntry);
                }
            }
        }
        /// <summary>
        /// JSONテキストからキャラクター属性を作成する。
        /// </summary>
        /// <param name="jtext">JSONテキスト</param>
        /// <param name="charAttributeFile">キャラクター属性ファイル</param>
        private static void CreateAttributeEntry(string jtext, MieCharacterAttributeFile charAttributeFile)
        {
            //// デシリアライズ
            var oeCharacters = JsonConvert.DeserializeObject <MieOECharacters>(jtext);

            foreach (var gameDataObject in oeCharacters.GameDataObjects)
            {
                var tag = GetGameDataTypeTag(gameDataObject.MieGameDataTypeTag);
                switch (tag)
                {
                case "CharacterStatsGameData":
                    var component = gameDataObject.Components[0];
                    //// キャラクター属性
                    MieCharacterAttributeEntry characterAttrEntry = new MieCharacterAttributeEntry(
                        new Guid(gameDataObject.ID),
                        gameDataObject.DebugName,
                        GetGenderType(component.Gender),
                        new Guid(component.SpeakerID),
                        new Guid(component.RaceID));
                    charAttributeFile.AddCharacterAttributeEntry(characterAttrEntry);
                    break;

                case "RaceGameData":
                    //// 種族属性
                    MieRaceAttributeEntry entry = new MieRaceAttributeEntry(
                        new Guid(gameDataObject.ID),
                        gameDataObject.DebugName);
                    charAttributeFile.AddRaceEntry(entry);
                    break;

                default:
                    continue;
                }
            }
        }