Общие сведения о реляционном конструкторе объектов

Обновлен: November 2007

Сред. Объектно-реляционный конструктор (Сред. Объектно-реляционный конструктор) предоставляет визуальную область конструктора для создания классов сущностей и ассоциаций (отношений) LINQ to SQL, которые базируются на объектах в базе данных. Другими словами, Сред. Объектно-реляционный конструктор используется для создания модели объекта в приложении, которая сопоставляется с объектами в базе данных. Модель также генерирует DataContext со строгим контролем ввода, который используется для отправки и получения данных между классами сущностей и базой данных. Реляционный конструктор объектов Сред. Объектно-реляционный конструктор обеспечивает также функциональные возможности сопоставления сохраненных процедур и функций методам DataContext для возврата данных и заполнения классов сущностей. Наконец, Сред. Объектно-реляционный конструктор обеспечивает способность проектировать отношения наследования между классами сущностей.

Сред. Объектно-реляционный конструктор генерирует DBML-файл, который обеспечивает сопоставление между классами LINQ to SQL и объектами базы данных. Реляционный конструктор объектов также генерирует DataContext и классы сущностей.

В области конструктора Сред. Объектно-реляционный конструктор имеется две области: слева — область сущностей, справа — область методов. Область сущностей является основной областью конструктора, отображающей классы сущностей, ассоциации и иерархии наследования. Область методов — это область конструктора, отображающая методы DataContext, которые сопоставлены хранимым процедурам и функциям.

Bb384511.alert_note(ru-ru,VS.90).gifПримечание.

В настоящее время конструктор Сред. Объектно-реляционный конструктор поддерживает только базы данных SQL Server 2000, SQL Server 2005, SQL Server 2008 и SQL Server Express. Хотя реляционный конструктор объектов не поддерживает SQL Server Compact 3.5, его поддерживает LINQ to SQL. Дополнительные сведения см. в разделе SQL Server Compact 3.5 и LINQ to SQL. Сведения о том, как получить SQL Server Express, см. в подразделе о получении SQL Server Express раздела Практическое руководство. Установка образцов баз данных.

Открытие реляционного конструктора объектов

Можно открыть Сред. Объектно-реляционный конструктор, добавив в проект элемент Классы LINQ to SQL. Подробные сведения см. в разделе Как добавить классы LINQ to SQL в проект (реляционный конструктор объектов).

Bb384511.alert_caution(ru-ru,VS.90).gifВажное примечание.

Сред. Объектно-реляционный конструктор представляет собой простой объектно-реляционный модуль сопоставления, поскольку он поддерживает только сопоставляющие отношения один к одному. Другими словами, класс объекта может иметь сопоставляющее отношение только 1:1 с таблицей базы данных или представлением. Сложные сопоставления, например, сопоставление класса сущностей нескольким таблицам, не поддерживается. Кроме того, конструктор является односторонним генератором объектного кода. Это означает, что только изменения, которые вы осуществляете на области конструктора, отражаются в файле кода. Изменения, вносимые в файл кода вручную, не отражаются в Сред. Объектно-реляционный конструктор. Любые изменения, которые вы вручную осуществляете в файле кода принимаются, когда конструктор сохраняется и генерируется код. Информацию о том, как добавить пользовательский код и распространить классы, сгенерированные Сред. Объектно-реляционный конструктор, см. в Как расширить код, созданный реляционным конструктором объектов.

Создание и конфигурирование DataContext

После добавления элемента LINQ to SQL Classes в проект и открытия Сред. Объектно-реляционный конструктор, пустая область конструктора представляет пустой DataContext, готовый к конфигурированию. DataContext конфигурируется с информацией о подключении, предоставленной первым элементом, который был перетащен в область конструктора. Поэтому DataContext конфигурируется с использованием информации о подключении из первого перемещенного в область конструктора элемента. Дополнительные сведения о классе DataContext см. в разделе Методы DataContext (реляционный конструктор объектов).

Создание классов сущностей, которые сопоставляются таблицам БД или представлениям

Можно создавать классы сущностей, которые сопоставляются таблицам базы данных и представлениям, путем перетаскивания таблиц или представлений из Обозревателя серверов/Обозревателя базы данных на Сред. Объектно-реляционный конструктор. Как указывалось в предыдущем разделе, DataContext конфигурируется с информацией о подключении, предоставленной первым элементом, который перемещен в область конструктора. Если в Сред. Объектно-реляционный конструктор добавляется элемент, который использует другое подключение, то можно изменить подключение для DataContext. Дополнительные сведения см. в разделе Как создать классы LINQ to SQL, сопоставленные с таблицами и представлениями (реляционный конструктор объектов).

Создание методов DataContext, которые вызывают сохраненные процедуры и функции

Можно создать методы DataContext, которые вызывают (сопоставляются) сохраненные процедуры и функции путем перетаскивания их из Обозревателя серверов/Обозревателя базы данных на Сред. Объектно-реляционный конструктор. Сохраненные процедуры добавляются в Сред. Объектно-реляционный конструктор как методы DataContext.

Bb384511.alert_note(ru-ru,VS.90).gifПримечание.

Когда хранимые процедуры и функции перетаскиваются из обозревателя серверов или обозревателя баз данных в Сред. Объектно-реляционный конструктор, тип возвращаемого значения для создаваемого метода DataContext будет различным (в зависимости от места, в котором завершилось перетаскивание элемента). Дополнительные сведения см. в разделе Методы DataContext (реляционный конструктор объектов).

Конфигурирование DataContext, чтобы использовать сохраненные процедуры для сохранения данных между классами сущностей и базой данных

Как утверждалось ранее, можно создавать методы DataContext, которые вызывают сохраненные процедуры и функции. Кроме того, можно также назначать сохраненные процедуры, которые могут использоваться для поведения по умолчанию при LINQ to SQL среды выполнения, которая выполняет Вставки, Обновления и удаления. Дополнительные сведения см. в разделе Как назначить хранимые процедуры для выполнения обновлений, вставок и удалений (реляционный конструктор объектов).

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

Подобно другим объектам, LINQ to SQL классы могут использовать наследование и выводиться из других классов. В базе данных, отношения наследования создаются несколькими способами. Сред. Объектно-реляционный конструктор поддерживает концепцию наследования одиночных таблиц, так как именно она обычно осуществляется в реляционных системах. Дополнительные сведения см. в разделе Как настроить наследование с использованием реляционного конструктора объектов.

Запросы LINQ to SQL

Классы сущностей, созданные Сред. Объектно-реляционный конструктор, предназначены для использования с LINQ. Дополнительные сведения см. в разделе Как обращаться с запросами о сведениях (LINQ to SQL).

Отделение сгенерированного DataContext и кода класса сущностей в иные пространства имен Namespaces

Сред. Объектно-реляционный конструктор обеспечивает свойства Контекстного пространства имен и Пространства имен сущностей на DataContext. Эти свойства определяют, какое пространство имен DataContext и кода классов сущностей генерируется в нем. По умолчанию эти свойства пустые и DataContext классы сущностей генерируются в пространстве имен приложения. Чтобы сгенерировать код в пространство имен, отличное от пространства имен приложения, введите значение в свойства Контекстное пространство имен и/или Пространство имен сущностей.

См. также

Задачи

Пошаговое руководство. Создание классов LINQ to SQL (реляционный конструктор объектов)

Как назначить хранимые процедуры для выполнения обновлений, вставок и удалений (реляционный конструктор объектов)

Основные понятия

Новые возможности данных

Ссылки

Общее руководство программирования на LINQ

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

LINQ to SQL

LINQ to ADO.NET

Реляционный конструктор объектов