Поделиться через


Методы DataContext (реляционный конструктор объектов)

DataContext Методы (в контексте средств LINQ to SQL в Visual Studio) — это методы DataContext класса, выполняющего хранимые процедуры и функции в базе данных.

Этот DataContext класс — это класс LINQ to SQL, который выступает в качестве канала между базой данных SQL Server и классами сущностей LINQ to SQL, сопоставленными с этой базой данных. Класс DataContext содержит сведения строка подключения и методы подключения к базе данных и управления данными в базе данных. По умолчанию DataContext класс содержит несколько методов, которые можно вызвать, например SubmitChanges метод, который отправляет обновленные данные из классов LINQ в SQL в базу данных. Можно также создать дополнительные методы DataContext, которые сопоставляются сохраненным процедурам и функциям. Другими словами, вызов этих пользовательских методов выполняет хранимую процедуру или функцию в базе данных, с которой DataContext сопоставляется метод. Можно добавить новые методы в класс DataContext точно так, как добавлялись бы методы, чтобы расширить любой класс. Однако в обсуждениях о DataContext методах в контексте конструктора O/R это DataContext методы, которые сопоставляются с хранимыми процедурами и функциями, которые обсуждаются.

Область методов

DataContext Методы, которые сопоставляются с хранимыми процедурами и функциями, отображаются в области "Методы " конструктора операций ввода-вывода и R. Область методов аналогична области сущностей (главная область конструктора). В области "Методы" перечислены все DataContext методы, созданные с помощью конструктора O/R. По умолчанию область "Методы" пуста; перетащите хранимые процедуры или функции из сервера Обозреватель или базы данных Обозреватель в конструктор операций ввода-вывода, чтобы создать DataContext методы и заполнить область "Методы". Дополнительные сведения см. в разделе "Практическое руководство. Создание методов DataContext, сопоставленных с хранимыми процедурами и функциями (конструктор операций ввода-вывода)".

Примечание.

Откройте и закройте область методов, щелкнув правой кнопкой мыши конструктор O/R, а затем щелкните "Скрыть область методов" или "Показать методы" или используйте сочетание клавиш CTRL+1.

Два типа возврата методов DataContext

Методы DataContext сопоставляются хранимым процедурам и функциям в базе данных. Вы можете создавать и добавлять методы DataContext на панели "Методы" конструктора O/R. Существует два различных типа методов DataContext — возвращающие один или несколько результирующих наборов и не возвращающие результирующие наборы:

Типы возвращаемого значения методов DataContext

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

Примечание.

Можно изменить тип возвращаемого значения метода DataContext после его добавления в область методов. Чтобы просмотреть или изменить тип возвращаемого значения метода DataContext, выберите его и проверьте свойство тип возвращаемого значения в окне Свойства. Дополнительные сведения см. в разделе "Практическое руководство. Изменение возвращаемого типа метода DataContext (конструктор O/R)".

Объекты, перетаскиваемые из базы данных в область конструктора O/R, автоматически называются на основе имени объектов в базе данных. При перетаскивании одного и того же объекта несколько раз число добавляется в конец нового имени, которое отличает имена. Если имена объектов базы данных содержат пробелы или символы, которые не поддерживаются в Visual Basic или в C#, то пробел или недопустимый символ будет заменен символом подчеркивания.