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

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

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

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

ПримечаниеПримечание

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

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

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

Важное примечаниеВажно!

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

Создание и настройка DataContext

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

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

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

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

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

ПримечаниеПримечание

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

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

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

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

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

Запросы LINQ to SQL

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

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

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

См. также

Задания

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

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

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

Новые возможности разработки приложений в Visual Studio 2012

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

LINQ to SQL [LINQ to SQL]

LINQ General Programming Guide

LINQ to ADO.NET

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