У меня есть абстрактный класс «StrategyBase», и набор подразделам классов, StrategyA/B/C и т.д. Классы суб использовать некоторые из свойств базовый класс, и имеют некоторые индивидуальные свойства. Мой вопрос заключается в том, как сохранить это в базе данных.Saving Аннотация и Суб классы в базе данных
В настоящее время я использую SqlCE и Linq-To-Sql, создавая классы сущностей автоматически с помощью SqlMetal.exe. Я видел, что есть три решения, показанные в this question, но я не могу видеть , как эти решения будут работать или нет с классами SqlMetal/entity. Хотя мне кажется, что «наследование бетонной таблицы », вероятно, будет работать без ручной модификации. Как насчет двух других, будут ли они проблематичными?
Для "Наследование отдельных таблиц" не будут ли все классы получать все переменные, даже если они им не нужны? А для «Наследование таблицы классов» решение я вообще не вижу, как это будет отображаться в сущности-классах для полезной цели. Я могу заметить, что я расширяю эти частичные классы сущностей для создания классов своих бизнес-объектов.
Я также могу рассмотреть возможность перехода к EntityFramework вместо SqlMetal/Linq2Sql, так что было бы неплохо узнать, не имеет ли никакого значения то, что схема легко реализовать.
Возможно, стоит отметить, что Я буду постоянно разрабатывать новые стратегии, что заставляет меня модифицировать программный код и, возможно, базу данных shcema; при добавлении новой стратегии.
Извините, вопрос немного «повсюду», но, надеюсь, здесь есть некоторые очевидные преимущества/недостатки, которые вы можете дать советам. ?
Приветствия!
TPT/TPH с платформой Entity Framework 4.Сгенерируйте модель, создайте POCO, настройте наследование, посмотрите, как он качает и катит. Достаточно сказано. – RPM1984