Entity Framework 4.0: обзор нововведенийКондуфоров АлександрEmail: alexander.konduforov@gmail.comWeblog: www.merle-amber.blogspot.com
О чем поговорим?EF 1.0, EF 4.0 – вопросы версионированияпроблемы Entity Framework 1.0решения, предлагаемые Entity Framework 4.0улучшения дизайнеракогда будет доступно?несколько примеров
4.0 ???
Проблемы EF 1.0
Проблема 1. Database first only ModelDB
Решение: + Model firstModelDB
Проблема 2. Привязка к edmx
Решение: Code Only
3 способа создания моделиданных:генерация из базы данных (edmx)создание вручную при помощи дизайнера (edmx)создание вручную при помощи только кода (Code Only)
Проблема 3. Сложно повлиять на результат генерации модели
Решение: Text Template Transformation Toolkit(T4)
Проблема 4. Отсутствие неявного lazy loading
Решение:неявный lazy loading ! :)ContextOptions.LazyLoadingEnabled=true;
Проблема 5. Нарушение Persistence Ignorance PrincipleDomain EntitiesEF
Решение:реализация PI с помощью Plain Old CLR Objects(POCO)!Domain EntitiesEF
При помощи чего реализуется поддержка Persistence IgnoranceConvention-based mappingEDMX or Code Only modelFixing up Relationships (during query and changes)Lazy and Eager loading supportSnapshot-basedvs. notification-based change tracking proxiesDetectChanges()SaveChanges(SaveOptions options)T4 templates
Проблема 6. Мониторинг изменений без контекстаEFLogic
Решение: Self Tracking entitiesEFLogic
Проблема 7. Плохая поддержка unit тестов
Решениe:улучшениеtestabilityPOCOIObjectSet<T>T4 templatesLINQ to Entities improvements
Проблема 8. Отсутствие foreign keys в сущностях
Решение: добавление foreign key property
Улучшения в дизайнереподдержка Model Firstулучшенная работа с Store ModelPluralization/SingularizationsupportForeign Keys supportсоздание и распознавание Complex Typesподдержка Complex Types в хранимых процедурах
Другие новинкиModel Defined FunctionsObjectMaterialized eventподдержка POCO и ASP.NET Query Extenders в EntityDataSourceулучшение производительности и читабельности SQL-запросовObject Services API, LINQ to Entities улучшения, новые API для расширяемости
Когда будет доступен?22 марта 2010Сейчас – beta 2Feature CTP2 будет доступен скоро
Спасибо за внимание

New in Entity Framework 4.0

Editor's Notes

  • #26 Запрос приходит в конроллер, контроллер обновляет модель, и передает ее для отображения в представление