Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Vse_shpory_po_OOP_polnye.doc
Скачиваний:
6
Добавлен:
20.09.2019
Размер:
295.94 Кб
Скачать

30. Создание и подключение класса контекста данных к базе данных. Шаблон программирования при добавлении данных в объект контекста данных.

В технологии LINQ to SQL ключевым классом для объекта реляционного связывания является класс DataContext (класс контекста данных). DataContext – класс, соединяющий с БД, отслеживающий то, что мы изменяем, и обновляющий БД при вызове метода SubmitChanges. Сохраненные процедуры можно добавлять в реляционный конструктор объектов и выполнять как обычные методы DataContext. Сохраненные процедуры могут также использоваться для отмены поведения по умолчанию среды выполнения LINQ to SQL, которая выполняет операции Вставки, Обновления, Удаления, когда изменения сохраняются из классов сущностей в базу данных (например, при вызове метода SubmitChanges). По умолчанию, логика обновления базы данных (Вставки, Обновления и Удаления) с изменениями данных классов сущностей LINQ to SQL обеспечивается средой выполнения LINQ to SQL. Среда выполнения по умолчанию создает команды Вставить, Обновить и Удалить, основываясь на схеме таблицы (определения столбцов и информация о первичных ключах). Создание и конфигурирование DataContext. После добавления элемента LINQ to SQL Classes в проект и открытия Сред. Объектно-реляционный конструктор, пустая область конструктора представляет пустой DataContext, готовый к конфигурированию. DataContext конфигурируется с информацией о подключении, предоставленной первым элементом, который был перетащен в область конструктора. Поэтому DataContext конфигурируется с использованием информации о подключении из первого перемещенного в область конструктора элемента.

Вставки. Первый шаг при вставке записи в БД – создание DataContext. Второй – создание экземпляра сущностного объекта из сущностного класса. Третий – вставка этого сущностного объекта в соответствующую коллекцию таблицы. Четвертый – вызов метода SubmitChanges на объекте DataContext.

Пример вставки записи в БД посредством вставки сущностного объекта в Table<T>:

1. Создание DataContext (Northwind db = new Northwind;) 2. Создание экземпляра сущностного объекта (Customer cust = new Customer{CustomerID = “Иванов”, CompanyName = “Иванов Wranglers”, ContactName = “Иван Иванович”, City = “Гродно”, Country = “Беларусь”,};) 3. Добавление сущностного объекта в таблицу Customers (db.Customers.InsertOnSubmit (cust);) 4. Вызов метода SubmitChanges (db.SubmitChanges( );) 5. Опрос записи (Customer customer = db.Customers.Where (c=> c.CustomerID == “Иванов”).First( ); Console.WriteLine (“{0} – {1}”, customer.CompanyName, customer. ContactName);) Эта часть кода просто восстанавливает БД, чтобы можно было запустить пример снова (Console.WriteLine(“Удалить добавленного заказчика Иванов ”); db.Customers.DeleteOnSubmit (cust); db.SubmitChanges( );)

Описание: во-первых, создаем экземпляр объекта Northwind, чтобы иметь объект DataContext на БД Northwind. Во-вторых, создаем экземпляр объекта Customer и наполняем его. В-третьих, вставляем созданный экземпляр Customer в таблицу Customers типа Table< Customer>, в класс Northwind DataContext . В-четвертых, вызываем метод SubmitChanges для сохранения вновь созданного объекта Customer в БД. В-пятых, запрашиваем обратно из БД только что вставленную запись о заказчике, чтобы доказать, что она на самом деле была вставлена.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]