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

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

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

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

Мне нужны конкретные вопросы:

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

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

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

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

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

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

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

Я столкнулся с этим: 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. Просто взломайте простой клиент, продукты и заказы db … Я рекомендую делать свое и не использовать Northwind.

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

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

  • Начало работы с EF с помощью учебника MVC
  • Code First Development с платформой Entity Framework от TechEd 2010
  • Сообщение Скотта Гу о разработке кода с первым EF4
  • MSDN Entity Framework 4.1 и 4.2

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

Вот пошаговое руководство по шаблону POCO для платформы Entity Framework, которое выглядело довольно хорошо. Вы также можете проверить блог команды ADO.NET . Если вы хотите начать с начала (EF v1.0) в качестве базы для ваших знаний EF, я нашел книгу программирования 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-сервер с помощью SQL Server Profiler.

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

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

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

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

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

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

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

https://entityinterfacegenerator.codeplex.com

  • Использование JsonConvert.DeserializeObject для десериализации Json в class C # POCO
  • Как объявить отношения один к одному с использованием Entity Framework 4 Code First (POCO)
  • Можно ли запретить EntityFramework 4 переписывать настроенные свойства?
  • POCO, поведение и сопротивление Игорь
  • Почему мой код Entity Framework Code First proxy null и почему я не могу его установить?
  • Code First - лучше ли использовать annotations данных или Fluent API?
  • Interesting Posts

    «Обнаружена ошибка с обнаруженным дефектом» (NTLM не Kerberos) с Kerberos / Spring Security / IE / Active Directory

    Метод MVC MVC для разных controllerов

    Показать ImageView частично за прозрачным ActionBar

    Что касается использования Task.Start (), Task.Run () и Task.Factory.StartNew ()

    Вычислите размер представления списка или как рассказать, чтобы он полностью расширялся

    VBA – обновление других ячеек с помощью пользовательской функции

    Какова цель willSet и didSet в Swift?

    Как вы применяете ограничения внешнего ключа в SQLite через Java?

    Сценарий PowerShell для поиска и замены для всех файлов с определенным расширением

    C # 4.0: Можно ли использовать TimeSpan в качестве необязательного параметра со значением по умолчанию?

    Камера в Android, как получить лучший размер, размер предварительного просмотра, размер изображения, размер изображения, искаженное изображение

    Изменить GUID моего компонента в wix?

    Вручную установите ненавязчивую ошибку проверки в текстовом поле

    Запрос Elasticsearch для возврата всех записей

    сопоставление результатов запроса Hibernate с пользовательским classом?

    Давайте будем гением компьютера.