Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Разработка приложений баз данных (Visual Studio 2008).docx
Скачиваний:
143
Добавлен:
26.03.2016
Размер:
1.01 Mб
Скачать

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

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

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

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

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

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