Я написал несколько предположений относительно Entity Framework, затем несколько вопросов (поэтому, пожалуйста, исправьте, где я ошибаюсь). Я пытаюсь использовать POCOs с EF 4.
Мои предположения:
- Для диаграммы EF может существовать только один контекст данных.
- Контексты данных могут ссылаться на несколько объектов.
- Если у вас есть два источника данных, например сервер MS SQL и Oracle, для доступа к данным для EF требуется две разные диаграммы.
- Контекст данных диаграммы EF - это "Единица работы", имеющая одно значение Save() для чего-либо на диаграмме. (Конечно, вы можете обернуть его в классе UnitOfWork, но он по сути имеет те же обязанности).
Предполагая, что правильно, вот мои вопросы:
-
Если вы не сохраняете все объекты на одной диаграмме EF, как вы поддерживаете целостность данных, например "Заказы" не могут существовать без "Заказчика"? Является ли это единственным функция репозитория для загрузки данных просто для проверки целостности или мы пытаемся "поймать/поймать" на ошибках ссылочной целостности базы данных?
-
Разве вы не создали бы диаграмму EF для каждого объекта?. Например, я не ожидал бы изменений в клиенте и изменений в продукте, который будет написан вместе, поскольку у них ничего нет делать друг с другом (иметь их на одной диаграмме, чтобы они были записаны вместе). Или область EF-диаграммы охватывает все аналогичные объекты, хранящиеся на одном и том же носителе?
Разве это норма, чтобы разделить сущности, подобные этому, или просто иметь одну диаграмму, содержащую все сущности? Я думаю, что последнее, но мышление становится лучше меня.