Я некоторое время программировал и раньше использовал LINQ-To-SQL и LINQ-To-Entities (хотя при использовании сущностей он был связан с отношением Entity/Table 1-1, т.е. не сильно отличается от L2SQL)Entity Framework 4/POCO - С чего начать?
Я много читал об обращении с элементами управления, модулем работы, POCO и образцами репозитория и хотел бы использовать эту методологию в своих новых приложениях.
Где я пытаюсь найти четкое, краткое руководство для начинающих для EF4, которое не предполагает знания EF1.
конкретных вопросов, мне нужны ответы являются:
кода первого/моделью первым? Плюсы/минусы в отношении EF4 (то есть, что произойдет, если я сначала сделаю код, измените код на более позднюю дату и вам нужно будет восстановить мою модель БД - Сохраняются ли данные и преобразуются или удаляются?)
Предполагая, m, идущий кодовым первым (я хотел бы видеть, как EF4 преобразует это в схему БД), как я действительно начинаю? Довольно часто я видел статьи с диаграммами сущностей, в которых говорится: «Итак, это моя модель сущности, теперь я собираюсь ...» - К сожалению, я не понимаю, была ли она создана модель в дизайнере, сгенерировать код, а затем прекратить любое дальнейшее генерирование автоматического кода -или- Они закодированы (POCO)? классы и как-то импортировали их в представление deisgner?
Я полагаю, что мне действительно нужно понять, откуда приходит «волшебство» и как его добавить, если я не просто создаю EF-модель непосредственно из БД.
Я знаю, что вопрос немного расплывчатый, но я не знаю, чего я не знаю, - поэтому любой ввод/коррекция/разъяснение оцениваются.
Излишне говорить, что я не ожидаю, что кто-нибудь сядет здесь и научит меня EF - мне бы хотелось, чтобы некоторые хорошие учебники/форумы/блоги/и т. Д. для новичков полного состава
быть действительно очень осторожен с временем жизни подключений: http://bit.ly/fi83NV Это то, что вы действительно должны быть осведомлены о том, когда абстрагированиях контекстов в хранилища. Может показаться, что он работает, но на самом деле медленно работает все больше открытых подключений. – BritishDeveloper
@BRitishDeveloper - Очень хороший совет. Это действительно нас выводило, но наоборот. Мы использовали контейнер IoC для извлечения репозиториев и имели проблему, когда контекст, назначенный репозиторию, закроет соединение через некоторое время, но не будет помечен как удаленный/аналогичный. В конечном итоге мы расширили контекст с помощью IsDisposed(), который проверен с обычным состоянием удаления и состоянием соединения, что позволяет нам строить другое, если это необходимо. – Basic
Другим удобным советом является то, что при получении нового контекста объекты, связанные со старым контекстом, не будут иметь соответствующего отслеживания изменений и вызовут проблемы с неправильным сопоставлением контекста. Поэтому, если у вас есть долгосрочное приложение и контекст изменения в середине -execution, вам нужно повторно получить все ваши сущности. Чтобы сделать его более интересным, нам на самом деле приходилось работать 2 одновременно и бок о бок, и в итоге я написал код для сопоставления между двумя красивыми ... – Basic