Методы DataContext (реляционный конструктор объектов)
Методы DataContext (в контексте Реляционный конструктор объектов) представляют собой методы класса DataContext, который запускает сохраненные процедуры и функции в базе данных.
Класс DataContext представляет собой класс LINQ to SQL, который действует как канал между базой данных SQL Server и классами сущностей LINQ to SQL, сопоставленных с этой базой данных.Класс DataContext содержит данные строки подключения и методы для подключения к базе данных и работы с данными в базе данных. По умолчанию класс DataContext содержит несколько методов, доступных для вызова, таких как метод SubmitChanges, который отправляет обновленные данные из классов LINQ to SQL в базу данных.Можно также создать дополнительные методы DataContext, которые сопоставляются сохраненным процедурам и функциям.Другими словами, вызов этих пользовательских методов запустит сохраненную процедуру или функцию в базе данных, которой метод DataContext сопоставлен.Можно добавить новые методы в класс DataContext точно так, как добавлялись бы методы, чтобы расширить любой класс.Однако, в дискуссиях о методах DataContext в контексте реляционный конструктор объектов, это методы DataContext, которые сопоставляются с хранимыми процедурами и функциями, которые обсуждаются.
Примечание |
---|
В LINQ to SQL хранимые процедуры и функции обрабатываются аналогичным образом, то есть сопоставляются с классами сущностей при помощи того же самого атрибута StoredProcedureAttribute.В контексте LINQ to SQL методы DataContext, которые сопоставляются с хранимыми процедурами такие же как методы, сопоставляемые с функциями. |
Область методов
Методы DataContext, которые сопоставляются с хранимыми процедурами и функциями отображаются в области методов конструктора реляционный конструктор объектов.Область методов аналогична области Сущностей (Главная область конструктора).В области методов перечислены все методы DataContext, которые вы создали при помощи конструктора реляционный конструктор объектов.По умолчанию область методов пуста; перетащите сохраненные процедуры или функции их Обозревателя серверов/Обозревателя базы данных на реляционный конструктор объектов, чтобы создать методы DataContext и заполнить область методов.Дополнительные сведения см. в разделе Как создать методы DataContext, сопоставленные с хранимыми процедурами и функциями (реляционный конструктор объектов).
Примечание |
---|
Область методов можно открыть и закрыть, в реляционный конструктор объектов щелкнув ее правой кнопкой мыши и выбрав команду Скрыть область методов или Показать область методов либо с помощью сочетания клавиш CTRL+1. |
Два типа возврата методов DataContext
Методы DataContext сопоставляются хранимым процедурам и функциям в базе данных.Методы DataContext создаются и добавляются в области методов в реляционный конструктор объектов.Существует два различных типа методов DataContext — возвращающие один или несколько результирующих наборов и не возвращающие результирующие наборы.
Методы DataContext, которые возвращают один или несколько результирующих наборов.
Этот вид метода DataContext создается, если приложение должно только запускать хранимые процедуры и функции в базе данных и возвращать результаты.Дополнительные сведения см. в разделах Как создать методы DataContext, сопоставленные с хранимыми процедурами и функциями (реляционный конструктор объектов), [T:System.Data.Linq.ISingleResult'1] и IMultipleResults.
Методы DataContext, которые не возвращают результирующих наборов, например операции вставки, обновления и удаления для некоторого класса сущности.
Этот вид метода DataContext создается, если приложение должно запускать хранимые процедуры вместо выполнения определенных по умолчанию действий LINQ to SQL для сохранения измененных данных между классом сущности и базой данных.Дополнительные сведения см. в разделе Как назначить хранимые процедуры для выполнения обновлений, вставок и удалений (реляционный конструктор объектов).
Типы возвращаемого значения методов DataContext
Когда хранимые процедуры и функции перетаскиваются из обозревателя серверов или обозревателя баз данных в реляционный конструктор объектов, тип возвращаемого значения для создаваемого метода DataContext будет различным (в зависимости от места, в котором завершилось перетаскивание элемента).Перемещение элементов прямо на существующий класс сущностей создает метод DataContext с типом возврата класса сущностей элемента; перемещение элементов на пустую область конструктора реляционный конструктор объектов (в любой области) создает метод DataContext, который возвращает автоматически сгенерированный тип возврата.Автоматически сгенерированный тип, который создается, имеет имя, которое соответствует имени сохраненной процедуры или имени функции и свойствам, которые сопоставляют полям, возвращенным сохраненной процедурой или функцией.
Примечание |
---|
Можно изменить тип возврата метода DataContext после его добавления в область методов.Чтобы просмотреть или изменить тип возвращаемого значения метода DataContext, выберите его и проверьте свойство Тип возвращаемых данных в окне Свойства.Дополнительные сведения см. в разделе Как изменить тип возвращаемого значения метода DataContext (реляционный конструктор объектов). |
Объекты, перетаскиваемые из базы данных в область реляционного конструктора объектов, автоматически получают имена, основанные на имени объектов в базе данных.Если несколько раз перетащить один объект, к концу имени будет добавлен номер, чтобы различить имена экземпляров.Если имена объектов базы данных содержат пробелы или символы, которые не поддерживаются в Visual Basic или в C#, то пробел или недопустимый символ будет заменен символом подчеркивания.
См. также
Задания
Пошаговое руководство. Настройка операций вставки, обновления и удаления в классах сущностей
Пошаговое руководство. Создание классов LINQ to SQL (реляционный конструктор объектов)