New in Entity Framework 4.0

Preview:

Citation preview

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

DB Model

Решение: + Model first

DBModel

Проблема 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 Principle

Domain Entities

EF

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

Domain Entities

EF

При помощи чего реализуется поддержка 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

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

EF Logic

Решение: Self Tracking entities

EF Logic

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

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

POCO IObjectSet<T> T4 templates LINQ to Entities improvements

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

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

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

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

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

процедурах

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

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

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

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

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

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

22 марта 2010

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

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