/// <summary>
        /// Uses the passed in legacy item's data to determine it's EntryType and query the database for its data.
        /// </summary>
        /// <param name="legacyItem"></param>
        /// <returns></returns>
        private static BaseEntry GetEntryFromLegacyItem(LegacyItem.Item legacyItem)
        {
            var result = default(BaseEntry);

            EntryType entryType = DetermineLegacyItemType(legacyItem.ItemSQL);
            EntryDataService eds = new EntryDataService();

            switch (entryType)
            {
                case EntryType.Class:
                    {
                        string baseQuery = DatabaseQueries.QUERY_CLASS + DatabaseQueries.QUERY_CUSTOM_NAME_MODIFIER;
                        result = eds.GetEntry<ClassEntity, Class>(baseQuery, legacyItem.name);
                        break;
                    }
                case EntryType.Monster:
                    {
                        string baseQuery = DatabaseQueries.QUERY_MONSTER + DatabaseQueries.QUERY_CUSTOM_NAME_MODIFIER;
                        result = eds.GetEntry<MonsterEntity, Monster>(baseQuery, legacyItem.name);
                        break;
                    }
                case EntryType.Domain:
                    {
                        string baseQuery = DatabaseQueries.QUERY_DOMAIN + DatabaseQueries.QUERY_CUSTOM_NAME_MODIFIER;
                        result = eds.GetEntry<DomainEntity, Domain>(baseQuery, legacyItem.name);
                        break;
                    }
                case EntryType.Equipment:
                    {
                        string baseQuery = DatabaseQueries.QUERY_EQUIPMENT + DatabaseQueries.QUERY_CUSTOM_NAME_MODIFIER;
                        result = eds.GetEntry<EquipmentEntity, Equipment>(baseQuery, legacyItem.name);
                        break;
                    }
                case EntryType.Feat:
                    {
                        string baseQuery = DatabaseQueries.QUERY_FEAT + DatabaseQueries.QUERY_CUSTOM_NAME_MODIFIER;
                        result = eds.GetEntry<FeatEntity, Feat>(baseQuery, legacyItem.name);
                        break;
                    }
                case EntryType.Item:
                    {
                        string baseQuery = DatabaseQueries.QUERY_ITEM + DatabaseQueries.QUERY_CUSTOM_NAME_MODIFIER;
                        result = eds.GetEntry<ItemEntity, Item>(baseQuery, legacyItem.name);
                        break;
                    }
                case EntryType.Power:
                    {
                        string baseQuery = DatabaseQueries.QUERY_POWER + DatabaseQueries.QUERY_CUSTOM_NAME_MODIFIER;
                        result = eds.GetEntry<PowerEntity, Power>(baseQuery, legacyItem.name);
                        break;
                    }
                case EntryType.Skill:
                    {
                        string baseQuery = DatabaseQueries.QUERY_SKILL + DatabaseQueries.QUERY_CUSTOM_NAME_MODIFIER;
                        result = eds.GetEntry<SkillEntity, Skill>(baseQuery, legacyItem.name);
                        break;
                    }
                case EntryType.Spell:
                    {
                        string baseQuery = DatabaseQueries.QUERY_SPELL + DatabaseQueries.QUERY_CUSTOM_NAME_MODIFIER;
                        result = eds.GetEntry<SpellEntity, Spell>(baseQuery, legacyItem.name);
                        break;
                    }
            }

            return result;
        }
 /// <summary>
 /// Returns the legacy item passed as a properly typed new Entry.  The entry point for Legacy Item conversion.
 /// </summary>
 /// <param name="legacyItem"></param>
 /// <returns></returns>
 public static BaseEntry ConvertLegacyItemToEntry(LegacyItem.Item legacyItem)
 {
     return GetEntryFromLegacyItem(legacyItem);
 }