Entity Framework 4.0: обзор нововведений
Кондуфоров АлександрEmail: [email protected]: 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 будет доступен скоро
Спасибо за внимание