Я создаю приложение Windows в .Net 4.0 для создания и организации проектов электроники. Основная цель приложения - записать информацию о поставщиках для компонентов электроники (номер детали, описание, цена и т. Д.) И организовать (связать) их в проекты (готовые изделия). Одним из требований является отслеживание изменений для любого данного элемента поставщика (в основном, цены) и изменений на уровне проекта для предоставления статистики по моментам времени как на уровне компонентов, так и на уровне проекта для изменений.
Я решил использовать Entity Framework 4 для своего уровня доступа к данным с SQL CE 3.5 для базы данных, учитывая простоту развертывания клиента. Доступ к данным работает отлично, но при попытке создать отношения (ассоциации) между объектами, у платформы, похоже, нет никакого очевидного способа использования исторических данных. Это моя первая попытка использования структуры сущностей, поэтому я подумал, что это может быть только моя неопытность, которая мешает мне найти ответ. Вот моя основная схема:
У меня есть 3 основные таблицы: Project, Product и ProjectProduct
Каждая из таблиц Project и Product имеет столбец ID и столбец DateAdded, которые используются в качестве комплексного ключа. Таблица ProjectProducts содержит идентификаторы для каждой из двух других таблиц и поддерживает отношения «многие ко многим» между объектами. В таблице отношений также есть столбец DateAdded для отслеживания изменений в ассоциациях продукта / проекта.
В то время как Entity Framework, кажется, отлично работает с поддержкой прямых связей (без критериев даты) с использованием стандартных объектов данных, генерируемых кодом, немного запутано, как заставить его загружать ассоциации для точки-в-точке. временная схема исторических данных. По сути, мне нужно иметь возможность загружать объекты данных на основе критериев даты для требований на определенный момент времени (параметризованная загрузка).
Кто-нибудь делал что-нибудь подобное и может указать мне правильное направление?
Извините за длинное объяснение, но заранее спасибо за любую помощь, которую вы можете оказать!