Я работаю над моделью данных, которая имеет набор типов, имеющих общие поля, такие как Id, Name, Description.Чтобы быть более конкретным:
Класс Document имеет список атрибутов.Эти атрибуты находятся в нашем домене, такие как String, Integer, DateTime и более «сложные» типы, такие как Address и списки String, Integer, Address и т. Д. Теперь в моей голове я бы смоделировал классы Attribute так, чтобы у меня былабстрактный базовый класс (AttributeBase), который содержит общие атрибуты (Id, Name, Description), а затем имеет более конкретные атрибуты в соответствующих подклассах.Например, StringAttribute (Value), IntegerAttribute (Value), AddressAttribute (Street и т. Д.), StringListAttribute, IntegerListAttribute, AddressListAttribute.Мы говорим о 15-20 различных подклассах.Но как бы вы смоделировали эти классы в базе данных?Вы бы выбрали TPH, TPT или TPC?Я читал о падении производительности при выборе TPT и EF 4.1, и наличие одной таблицы массива для TPH мне не подходит, даже если производительность выше.Речь идет о потенциально 10000 - 1000000 ++ строках данных в таблицах.
Есть ли у вас опыт из первых рук, когда дело доходит до этих сценариев?Я действительно хотел бы здесь от вас на эту тему.