Наследование классов данных (реляционный конструктор объектов)
Обновлен: November 2007
Подобно другим объектам, LINQ to SQL классы могут использовать наследование и выводиться из других классов. В коде можно определить отношения наследования между объектами, объявляя, что один класс наследует от другого. В базе данных, отношения наследования создаются несколькими способами. Сред. Объектно-реляционный конструктор (Сред. Объектно-реляционный конструктор) поддерживает концепцию наследования одиночных таблиц, так как именно она обычно осуществляется в реляционных системах.
При наследовании единственной таблицы, имеется единственная таблица базы данных, которая содержит столбцы как для базового, так и для полученных классов. С реляционными данными столбец дискриминатора содержит значение, которое определяет, какому классу любая данная запись принадлежит. Например, рассмотрим таблицу Persons, которая содержит данные всех сотрудников компании. Некоторые лица являются служащими, а некоторые — менеджерами. Таблица Persons содержит столбец с именем Type, который имеет значение 1 для менеджеров и значения 2 для служащих. Столбец Type является столбцом дискриминатора. В этом сценарии можно создать подкласс служащих и заполнить класс только записями, которые имеют в столбце Type значение 2.
Когда вы конфигурируете наследование в классах сущностей, используя Сред. Объектно-реляционный конструктор, перетащите единственную таблицу, которая содержит данные наследования, на область конструктора два раза: один раз на каждый класс в иерархии наследования. После того, как вы добавите таблицы в конструктор, подключите их к элементу Наследование из панели элементов Реляционного конструктора объектов и потом задайте четыре свойства наследования в окне Свойства.
Свойства наследования
В следующей таблице содержится список свойств наследования и их описания.
Свойство |
Описание |
---|---|
Свойство дискриминатора |
Свойство (сопоставляемое столбцу), которое определяет какому классу принадлежит текущая запись. |
Значение дискриминатора базового класса |
Значение (в столбце, назначенном в качестве свойства дискриминатора), которое определяет, что запись относится к базовому классу. |
Полученное значение дискриминатора класса |
Значение (в свойстве, назначенном в качестве свойства дискриминатора), которое определяет, что запись относится к полученному классу. |
Наследование по умолчанию |
Класс, который должен заполниться, когда значение в свойстве, назначенном в качестве Свойства дискриминатора не совпадает либо со Значением дискриминатора для базового класса, либо со Значением дискриминатора для полученного класса. |
Создание модели объекта, который использует наследование и соответствует реляционным данным, может быть несколько запутанным. В этом разделе содержатся сведения об основных концепциях и отдельных свойствах, которые требуются для конфигурирования наследования. В следующих подразделах представлено более четкое объяснение того, как конфигурировать наследование при помощи Сред. Объектно-реляционный конструктор.
Раздел |
Описание |
---|---|
Как настроить наследование с использованием реляционного конструктора объектов |
Описывает способы конфигурирования классов сущностей, использующих наследование одной таблицы при помощи Сред. Объектно-реляционный конструктор. |
Предоставляет пошаговые инструкции по конфигурированию классов сущностей, использующих наследование одной таблицы, при помощи Сред. Объектно-реляционный конструктор. |
См. также
Задачи
Пошаговое руководство. Создание классов LINQ to SQL (реляционный конструктор объектов)