26
Entity Framework 4.0: обзор нововведений Кондуфоров Александр Email: [email protected] Weblog: www.merle-amber.blogspot.com

New in Entity Framework 4.0

Embed Size (px)

Citation preview

Page 1: New in Entity Framework 4.0

Entity Framework 4.0: обзор нововведений

Кондуфоров АлександрEmail: [email protected]: www.merle-amber.blogspot.com

Page 2: New in Entity Framework 4.0

О чем поговорим?

EF 1.0, EF 4.0 – вопросы версионирования проблемы Entity Framework 1.0 решения, предлагаемые Entity Framework 4.0 улучшения дизайнера когда будет доступно? несколько примеров

Page 3: New in Entity Framework 4.0

4.0 ???

Page 4: New in Entity Framework 4.0

Проблемы EF 1.0

Page 5: New in Entity Framework 4.0

Проблема 1. Database first only

DB Model

Page 6: New in Entity Framework 4.0

Решение: + Model first

DBModel

Page 7: New in Entity Framework 4.0

Проблема 2. Привязка к edmx

Page 8: New in Entity Framework 4.0

Решение: Code Only

Page 9: New in Entity Framework 4.0

3 способа создания модели данных:

генерация из базы данных (edmx) создание вручную при помощи дизайнера (edmx) создание вручную при помощи только кода (Code

Only)

Page 10: New in Entity Framework 4.0

Проблема 3. Сложно повлиять на результат генерации модели

Page 11: New in Entity Framework 4.0

Решение: Text Template Transformation Toolkit (T4)

Page 12: New in Entity Framework 4.0

Проблема 4. Отсутствие неявного lazy loading

Page 13: New in Entity Framework 4.0

Решение: неявный lazy loading ! :)

ContextOptions.LazyLoadingEnabled = true;

Page 14: New in Entity Framework 4.0

Проблема 5. Нарушение Persistence Ignorance Principle

Domain Entities

EF

Page 15: New in Entity Framework 4.0

Решение: реализация PI с помощью Plain Old CLR Objects (POCO)!

Domain Entities

EF

Page 16: New in Entity Framework 4.0

При помощи чего реализуется поддержка Persistence Ignorance

Convention-based mapping EDMX or Code Only model Fixing up Relationships (during query and changes) Lazy and Eager loading support Snapshot-based vs. notification-based change

tracking proxies DetectChanges() SaveChanges(SaveOptions options) T4 templates

Page 17: New in Entity Framework 4.0

Проблема 6. Мониторинг изменений без контекста

EF Logic

Page 18: New in Entity Framework 4.0

Решение: Self Tracking entities

EF Logic

Page 19: New in Entity Framework 4.0

Проблема 7. Плохая поддержка unit тестов

Page 20: New in Entity Framework 4.0

Решениe: улучшение testability

POCO IObjectSet<T> T4 templates LINQ to Entities improvements

Page 21: New in Entity Framework 4.0

Проблема 8. Отсутствие foreign keys в сущностях

Page 22: New in Entity Framework 4.0

Решение: добавление foreign key property

Page 23: New in Entity Framework 4.0

Улучшения в дизайнере

поддержка Model First улучшенная работа с Store Model Pluralization/Singularization support Foreign Keys support создание и распознавание Complex

Types поддержка Complex Types в хранимых

процедурах

Page 24: New in Entity Framework 4.0

Другие новинки

Model Defined Functions ObjectMaterialized event поддержка POCO и ASP.NET Query

Extenders в EntityDataSource улучшение производительности и

читабельности SQL-запросов Object Services API, LINQ to Entities

улучшения, новые API для расширяемости

Page 25: New in Entity Framework 4.0

Когда будет доступен?

22 марта 2010

Сейчас – beta 2Feature CTP2 будет доступен скоро

Page 26: New in Entity Framework 4.0

Спасибо за внимание