Новые возможности ADO.NET

В ADO.NET и .NET Framework версии 4 появились следующие новые функции.

Платформа ADO.NET Entity Framework

Платформа Entity Framework уменьшает объем кодирования и обслуживания, необходимый для приложений, управляемых данными, благодаря тому, что разработчики могут создавать программы на основе моделей данных, определенных в терминах сущностей и связей.Дополнительные сведения см. в разделе Entity Framework Overview.

В Entity Framework в .NET Framework 4 появились следующие новые функции.

Внешние ключи в концептуальной модели

Можно создавать концептуальные модели, в которых столбцы внешних ключей в базе данных соответствуют скалярным свойствам в типах сущностей.Дополнительные сведения см. в разделе Defining and Managing Relationships.

Самоотслеживающиеся сущности для разработки многоуровневых приложений

При работе с многоуровневыми приложениями теперь можно использовать самоотслеживающиеся сущности.Самоотслеживающиеся сущности могут записывать изменения скалярных и сложных свойств, а также свойств навигации.Информация отслеживания в самоотслеживающихся объектах может быть применена к контексту объекта на стороне сервера.Дополнительные сведения см. в разделе Working with Self-Tracking Entities.

Новые методы разработки многоуровневых приложений

Новые методы в классах в пространстве имен System.Data.Objects облегчают разработку многоуровневых приложений.Дополнительные сведения см. в разделе N-Tier Applications With Entity Framework.

Поддержка EntityDataSource для элемента управления расширителя запросов

Элемент управления EntityDataSource теперь поддерживает элемент управления QueryExtender, используемый для создания фильтров данных, полученных из источника данных.Дополнительные сведения см. в разделе Применение запросов LINQ к элементу управления EntityDataSource.

Возможности тестирования с помощью IObjectSet<T>

Класс ObjectContext теперь возвращает типизированные объекты сущности ObjectSet<TEntity>, которые можно использовать для выполнения операций создания, чтения, обновления и удаления с объектами сущностей.Класс ObjectSet<TEntity> реализует интерфейс IObjectSet<TEntity>.Интерфейс IObjectSet<TEntity> может оказаться полезным при тестировании сценариев.Дополнительные сведения см. в разделе Working with ObjectSet.

Прямое выполнение команд хранения

Теперь можно непосредственно выполнять команды хранения из ObjectContext.Дополнительные сведения см. в разделе Directly Executing Store Commands.

Объекты, пропускающие сохраняемость

Собственные пользовательские классы данных могут быть использованы совместно с моделью данных без каких-либо изменений.Таким образом, в приложении Entity Framework могут выполняться традиционные объекты среды CLR (POCO), например существующие объекты доменов.Дополнительные сведения см. в разделе Persistence Ignorant Objects (Entity Framework).

Отложенная загрузка связанных объектов

При «неспешной» загрузке, называемой также отложенной загрузкой, связанные объекты автоматически загружаются из источника данных при обращении к свойству навигации.Дополнительные сведения см. в разделе Shaping Query Results (Entity Framework).

Функции в запросах LINQ to Entities

Классы EntityFunctions и SqlFunctions обеспечивают доступ к каноническим функциям и функциям базы данных из запросов LINQ to Entities.Атрибут EdmFunctionAttribute позволяет методу CLR служить в качестве учетной записи-посредника для выполнения функции, определенной в концептуальной модели или модели хранения.Дополнительные сведения см. в разделе Calling Functions in LINQ to Entities Queries.

Улучшения OrderBy в LINQ to Entities

Запросы LINQ to Entities, которые содержат оператор OrderBy, теперь возвращают результаты, упорядоченные по аргументу, заданному в операторе, независимо от положения оператора в запросе.Однако оператор OrderBy в Entity SQL и запросы ObjectQuery<T> не учитываются, если это не последний оператор в запросе.

Настройка создания кода уровня объекта

Конструктор моделей EDM ADO.NET можно настроить для использования текстовых шаблонов при создании настроенного кода уровня объекта.Дополнительные сведения см. в разделе How to: Customize Object-Layer Code Generation.

Поддержка моделей в первую очередь

Generate Database Wizard позволяет сначала выполнить концептуальное моделирование, а затем создать базу данных, поддерживающую модель.Дополнительные сведения см. в разделе How to: Generate a Database from a Conceptual Model.

Поддержка сложных типов

ADO.NET Entity Data Model Designer теперь поддерживает сложные типы.Дополнительные сведения см. в следующих разделах:

Функция именования

Мастера Entity Data Model Wizard и Update Model Wizard предоставляют возможность использования единственного и множественного числа имен Entity, EntitySet и NavigationProperty, чтобы сделать код приложения более удобным для чтения.Дополнительные сведения см. в разделах Choose Your Database Objects Dialog Box (Entity Data Model Wizard) и Choose Your Database Objects Dialog Box (Update Model Wizard).

Улучшенные функции обозревателя моделей

В окне обозревателя моделей конструктора ADO.NET Entity Data Model Designer можно удалять объекты из модели хранения и искать концептуальные модели и модели хранения для заданной строки.Дополнительные сведения см. в разделах Model Browser Window и How to: Delete Objects from the Storage Model.

Расширяемость конструктора сущностей

Функции средств для работы с моделями EDM ADO.NET можно расширить с помощью классов в пространстве имен Microsoft.Data.Entity.Design.Extensibility для создания расширений Visual Studio.Классы в пространстве имен Microsoft.Data.Entity.Design.Extensibility позволяют выполнять перечисленные ниже действия.

  • Расширение процесса создания EDMX-файлов.

  • Расширение процесса обновления EDMX-файлов.

  • Добавление пользовательских свойств объектам в конструкторе сущностей и в обозревателе моделей.

  • Загрузка и сохранение файлов в пользовательских форматах.

  • Расширение процессов загрузки и сохранения EDMX-файлов.

Дополнительные сведения см. в разделе Extending the Entity Data Model Tools.

Документация по модели EDM

Документации для модели EDM обновлена.Дополнительные сведения см. в разделе Entity Data Model.

См. также

Другие ресурсы

ADO.NET

Общие сведения об ADO.NET

SQL Server и ADO.NET

What's New in WCF Data Services