Несколько комментариев.Для получения дополнительной информации я рекомендую провести некоторые базовые исследования с использованием поисковой системы.
... Я начинаю сталкиваться с множеством вопросов: «Отношения между двумя объектами не могут быть определены, поскольку они прикрепленыв разные объекты ObjectContext "ошибки.Кажется, что мой уровень репозитория смешивает контексты, поэтому я подумал, что может быть проще начать новый проект EF4.1.
Если у вас есть эта ошибка, вы сделали что-то не так.EF 4.1 не защитит вас от повторения той же ошибки, потому что вы также не можете изменить отношения между объектами, прикрепленными к различным DbContext
s.Вам просто нужно проанализировать и отладить свой код и найти источник проблемы.
... этот поток говорит: "DbContext - это реализация шаблона единицы работы, а IDbSet - реализация шаблона хранилища".,Я подумал, может тогда я мог бы просто использовать это ...
ObjectContext
и ObjectSet<T>
также является реализацией этих шаблонов.Это не повод менять версию Entity Framework.
После дальнейшей проверки, хотя кажется, что DbContext использует подход Code First ...
Вы также можете использоватьПодход «База данных первый и модель первый» с DbContext
.
... который, насколько я могу судить, упадет и снова создаст базу данных при изменении POCO.Мне нужно сохранить данные в моей базе данных, так что, насколько я могу судить, эта опция отсутствует.
Вы можете отключить эту функцию.Кроме того, EF 4.3 имеет функцию миграции, которая помогает обновлять и развивать существующую схему базы данных.
Требуется ли шаблон репозитория с EF4.1?
Нет.Это также не нужно для ObjectContext
.Если быть точным, вам не нужно писать собственный (абстрактный) репозиторий top of EF, потому что EF уже является реализацией этого шаблона.
Является ли DbContext для работы с базами данных, которые ужеполных данных?
Да.Дополнительная функция для создания базы данных из кода (Code-First) - это, главным образом, инструмент для повышения производительности на этапе разработки вашего приложения, который должен быть отключен на производстве.