Я создаю систему управления каталогами для моей компании Dads.Текущий, который я разработал и запустил за последние пару лет, хорош и эффективен, но имеет свои ограничения в том смысле, что если он хочет добавить свойство к типу элемента, то я должен добавить его в базу данных.и код и перезапустить систему.
Теперь, для следующей основной версии, я пытаюсь изменить это так, чтобы он мог сам определять все столбцы - поэтому у меня есть таблица ItemType, где он называет типы элементов;таблица ItemTypeProperty, чтобы он мог определить все столбцы и их типы данных, таблица Item, в которой все элементы хранятся с идентификатором их ItemType, и таблица ItemPropertyValue, которая использует ItemID, ItemTypePropertyID и сохраняет значение.Цель состоит в том, чтобы дать ему возможность сказать, что ему нужен столбец типа, так что, если есть два типа элемента с именами Range и Collection, он может сказать, что он хочет, чтобы Collection был свойством Range.
Имеет кого-либоЗдесь я уже сталкивался с созданием подобного рода систем, и, если да, есть ли что-то серьезное, чего мне не хватает, или что-то, что я, возможно, захочу рассмотреть, прежде чем я получу слишком много дальше?Я имею в виду какую-то проблему, которую я могу решить позже, которую я мог бы избежать, если бы что-то сделал сейчас?В качестве альтернативы есть какие-либо технологии, которые могут оказать большую помощь?Я пробовал Linq, но в то время мне было сложно настроить его под свои нужды.В настоящее время я использую VB.Net 2.0 (ограничение, установленное сервером; не под моим контролем) с Sql Server 2008. Я создал свою собственную систему, основанную на архитектуре MVC.
Заранее спасибо.
С уважением,
Ричард
Редактировать:
Моя новая структура базы данных:
Таблица: ItemType
Таблица: ItemTypeProperty
- ID
- ItemTypeID
- Имя
- Описание
- Тип данных
Таблица: Элемент
Таблица: ItemPropertyValues
- ID
- ItemID
- ItemTypePropertyID
- Значение