Я пытаюсь внедрить Linq-to-SQL в качестве технологии доступа к данным (инструмент ORM) в проекте DDD. L2S не был моим выбором, но это то, с чем я должен работать (пока).
После DDD моя модель домена уже создана, и она не будет соответствовать моей нормализованной схеме базы данных. (Ничего необычного здесь). Я пытаюсь реализовать L2S для использования моих доменных объектов в качестве POCO, используя внешний файл сопоставления XML в качестве MappingSource для моего DataContext. Все это хорошо, пока я не столкнусь с более сложным отображением.
В моем доменном слое у меня есть класс Appointment, у которого есть дочернее свойство типа Recurrence. Повторение является базовым классом, и фактическая реализация обеспечивается различными подклассами в зависимости от типа шаблона повторения. Из кода я могу создать соответствующий подкласс, используя класс RecurrenceFactory. Однако в моей базе данных у меня просто есть таблица назначений, в которой есть два столбца: RecurrenceType и RecurrenceValue.
Как настроить файл сопоставления XML для использования RecurrenceFactory для создания соответствующего подкласса с использованием столбцов RecurrenceType и RecurrenceValue из базы данных?
Если это невозможно, я должен полностью изменить направление своей реализации. Ваши мысли ценятся!