Entity Framework 4/POCO - С чего начать?

Я программировал какое-то время и раньше использовал LINQ-To-SQL и LINQ-To-Entities (хотя при использовании сущностей он был связан с отношением Entity/Table 1-1, т.е. не сильно отличается от L2SQL )

Я много читал об инверсии элементов управления, единицы работы, POCO и репозитория и хотел бы использовать эту методологию в моих новых приложениях.

Где я изо всех сил стараюсь найти четкое, краткое руководство для начинающих для EF4, которое не предполагает знания EF1.

Конкретные вопросы, которые мне нужны, следующие:

Сначала введите код/​​модель? Плюсы/минусы в отношении EF4 (то есть, что произойдет, если я сначала сделаю код, измените код на более позднюю дату и вам нужно будет восстановить мою модель БД - Сохраняются ли данные, преобразуются или удаляются?)

Предполагая, что я начинаю сначала кодовое (я хотел бы увидеть, как EF4 преобразует это в схему БД), как я действительно начинаю? Довольно часто я видел статьи с диаграммами сущностей, в которых говорится: "Итак, это моя модель сущности, теперь я собираюсь..." - К сожалению, я не понимаю, была ли она создана модель в дизайнере, сгенерировать код, а затем прекратить любое дальнейшее генерирование автоматического кода -или- Они закодированы (POCO)? классы и как-то импортировали их в представление deisgner?

Я полагаю, что мне действительно нужно понять, откуда приходит "волшебство" и как его добавить, если я не просто создаю EF-модель непосредственно из БД.

Я знаю, что вопрос немного расплывчатый, но я не знаю, чего я не знаю. Поэтому любой ввод/коррекция/разъяснение оцениваются.

Излишне говорить, что я не ожидаю, что кто-нибудь сядет здесь и научит меня EF - мне бы просто понравились хорошие учебники/форумы/блоги/и т.д. для новых сущностей сущностей

Ответ 1

Эти статьи могут представлять интерес... серия действительно попадает в преимущества и недостатки подхода POCO.

http://blogs.msdn.com/b/adonet/archive/2009/05/21/poco-in-the-entity-framework-part-1-the-experience.aspx

http://blogs.msdn.com/b/adonet/archive/2009/05/28/poco-in-the-entity-framework-part-2-complex-types-deferred-loading-and-explicit-loading.aspx

http://blogs.msdn.com/b/adonet/archive/2009/06/10/poco-in-the-entity-framework-part-3-change-tracking-with-poco.aspx

В этих статьях автор упоминает будущие статьи, в которых описываются лучшие практики реализации шаблонов репозитория и единицы работы, но я не могу их найти. Эти статьи хорошо написаны, и я хотел бы прочитать больше от этого автора.

Ответ 2

Я столкнулся с этим: http://blogs.msdn.com/adonet/pages/feature-ctp-walkthrough-code-only-for-the-entity-framework.aspx

Что дает вам шаг за шагом для кода. Для этого требуется CTP 3 для EF4 (загрузка связана с этой статьей).

Это довольно близко к тому, что я был после (хотя в идеале решение, которое не полагается на CTP, было бы предпочтительным)

Ответ 3

Я рекомендую вам заняться полчаса или около того и создать стабильную модель EF1.0 в текущем VS. Это даст вам долгий путь к пониманию метафор и концепций EF 4.0. Просто поднимите простой клиент, продукты и заказы db... Я рекомендую делать свои и не использовать Northwind.

Ответ 4

Это отличный вопрос, но он неуклонно обновляется, поскольку Entity Framework продолжает развиваться. Вероятно, лучшее место для начала, которое будет оставаться в курсе будущего, страница Microsoft EF.

Несколько других ссылок, которые я нашел полезными, в то время как Googling (сфокусированный на Code First):

Ответ 5

Вы можете взять книгу Лермана или нечто более простое, как "объектно-реляционное сопоставление Pro linq". Все концепции остаются неизменными с POCO, за исключением того, что теперь вы должны отключить генерацию кода и сопоставить его непосредственно с вашей моделью в edmx csdl (или создать собственный генератор POCO). Все принципы сопоставления одинаковы. Во всяком случае во время выполнения вы работаете с прокси-сервером, который получен из вашего объекта POCO, поэтому вы должны заботиться о поддержке перехвата (виртуализация ваших свойств POCO).

Ответ 7

Здесь walkthrough в шаблоне POCO для платформы Entity Framework, который выглядел довольно хорошо. Вы также можете проверить блог команды ADO.NET. Если вы хотите начать с начала (EF v1.0) в качестве базы для своих знаний EF, я нашел Julia Lerman Программирование Entity Framework book очень полный.

Ответ 9

Юля Лерман хорошая серия вступительных видеороликов, по 10 минут каждая. Они вводятся, но есть много практических советов, которые помогут избежать потенциальных препятствий для обучения. Мне особенно понравилась ее демонстрация того, как просмотр SQL файла происходит с помощью SQL Server Profiler.

Ответ 10

Если вы собираетесь использовать отключенные сценарии, я рекомендую вам прочитать книгу Джули Лерман: "Программирование DbContext" в специальной главе 4.

Я нашел много примеров в блогах и т.д., но почти все они связаны с связанными сценариями.

Я тоже начинаю. и эта книга мне очень помогла. Кстати, я купил три ее книги.

Ответ 11

Я искал те же ответы и наткнулся на http://www.dotnetcurry.com/ShowArticle.aspx?ID=599

В конце ссылки есть несколько ссылок, которые заставят вас прокатиться с Entity Framework 4.

Надеюсь, что это поможет

Ответ 12

Ничего себе, много ответов. Как насчет примера, который содержит измененную версию T4-шаблонов, которые вообще генерируют интерфейсы POCO + + репозитории?

https://entityinterfacegenerator.codeplex.com