Entity Framework 4 сводит меня с ума. Такая ситуация:
Сущность сотрудника - ассоциация "многие ко многим" - Субъект департамента
Я получаю сотрудников из репозитория Employee и отделов из репозитория DepartmentRepository.Каждый репозиторий использует свой собственный контекст данных.В моем пользовательском интерфейсе есть список отделов (из DepartmentRepository), которые нужно выбрать для сотрудника.
Когда выбран Department для сотрудника, он связывает Department из контекста данных DepartmentRepository, поэтому при попытке сохранитьСотрудник жалуется с изящным исключением.
Мне нужно отделить контекст данных для Отделов от контекста данных для Сотрудников, потому что Отделы могут быть изменены, и вызов сохранения изменений в DepartmentRepository также не может сохранить Сотрудника.
Отдельные контексты данных отлично работают для моей ассоциации многие со значениями 0 или 1, потому что я могу просто связать свойство внешнего ключа, а не экземпляр сущности.
Единственный обходной путь, о котором я могу подумать, - это исправитьсбор в ассоциации путем создания другого DepartmentRepository с тем же контекстом данных, что и EmployeeRepository, и разрешения отделов DepartmentRepository с отделами, извлеченными из DepartmentRepository, с EmployeeRepositorydatacontext, но это просто ужасный, вонючий дизайн и неприемлемое «решение».
На данный момент меня не волнует стратегия генерации кода (хотя POCO было бы неплохо), мне действительно просто нужно что-тоэто сработает, и Entity Framework 4 не так уж страшен при создании определений модели, поэтому я хотел бы придерживаться этого.