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

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

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

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

Конкретные вопросы, на которые мне нужно ответить:

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

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

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

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

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

12 ответов

Решение

Эти статьи могут представлять интерес... серия действительно раскрывает преимущества и недостатки подхода 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

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

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

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

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

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

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

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

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

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

У вас нет представителя, чтобы комментировать ответ, но вот ответ на вопрос Джинкинца:

Использование шаблонов репозитория и единицы работы с Entity Framework 4.0:

http://blogs.msdn.com/b/adonet/archive/2009/06/16/using-repository-and-unit-of-work-patterns-with-entity-framework-4-0.aspx

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

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

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

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

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

В конце ссылки есть несколько ссылок, которые помогут вам перейти на Entity Framework 4.

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

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

https://entityinterfacegenerator.codeplex.com/

Другие вопросы по тегам