Entity Framework 4 / POCO-с чего начать? [закрытый]


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

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

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

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

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

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

Я полагаю, что мне действительно нужно понять, откуда берется "магия" и как ее добавить, если я не просто создаю модель EF непосредственно из a ДЕЦИБЕЛ.

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

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

12 183

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

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

я наткнулся на это: 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.

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

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

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

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

использование репозитория и шаблонов единиц работы с 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 go с помощью SQL Server Profiler.

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

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

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

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

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

надеюсь, что это помогает

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

https://entityinterfacegenerator.codeplex.com