Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 5 лет назад пользователемЛариса Цымбалюк
1 Источники данных LINQ РУБД
2 LINQ (Language Integrated Query, язык интегрированных запросов ) это технология, которая позволяет разработчикам формировать в программном коде запросы, основанные на наборах, без использования дополнительного языка запросов.
3 Запросы LINQ можно писать к различным перечислимым источникам данных, таких как : хранимые в памяти структуры данных, XML- документы, базы данных SQL; объекты DataSet.
4 Достоинства LINQ LINQ позволяет с помощью собственных средств формировать запросы для любого совместимого с LINQ источника, что делает код универсальным. При всем этом синтаксис кода остаётся неизменным независимо от того какой источник данных мы используем. Т. о., синтаксис запроса, к примеру к обычному массиву, ничем не отличается от синтаксиса запроса к базе данных. По сути LINQ представляет собой язык в другом языке программирования.
5 Запрос указывает, какую информацию нужно извлечь из источника или источника данных. При необходимости запрос указывает способ сортировки, группировки и формирования этих сведений перед возвращением. Запрос храниться в переменной запроса и инициализируется выражением запроса.
6 Основные операции, выполняемые в запросе LINQ Получение источника данных Фильтрация Упорядочивание Группировка Соединение Выбор ( проецирование )
7 Источники данных LINQ Linq ориентирован на запросы, возвращаемые набор объектов, единственный объект или подмножество полей из объекта или множества объектов.
8 Последовательность (sequence) Возвращённый набор объектов называется последовательностью. Большинство последовательностей имеет тип IEnumerable, где T – тип данных объектов, находящихся в последовательности. Пример – последовательность целых чисел хранятся в переменной типа IEnumerable
9 Всего существует пять источников данных LINQ: LINQ to Object LINQ to XML LINQ to DataSet LINQ to SQL LINQ to Entities
10 LINQ to Qbject позволяет выполнять запросы к массивам и находящимся в памяти коллекциям данных. Имеет SQL- подобный синтаксис, доступный в LINQ- запросах. Стандартные операции запросов – это статические методы класса System.Linq.Enumerable
11 LINQ to Qbject Все операции запроса LINQ состоят из трёх различных действий : получение источника данных, создание запроса, выполнение запроса.
12 LINQ to XML предназначен для работы с XML- документами. Используя LINQ to XML можно сократить объёмы кода. Это программный интерфейс XML, который позволяет работать с XML- файлами внутри языков программирования
13 LINQ to DataSet широкие оптимизированные возможности создания запросов и модификацию приложений через объект DataSet
14 LINQ to SQL позволяет через запросы LINQ работать с базой данных MS SQL Server. Данная технология позволяет непосредственно запрашивать схемы баз данных MS SQL Server.
15 LINQ to Entities позволяет приложениям взаимодействовать с реляционными данными из баз данных как с объектами
16 Передача данных в объекты памяти часто бывает сложной и способствует появлению ошибок. Поставщик Linq, реализованный в Linq to DataSet и Linq to SQL преобразует исходные данные в данные, основанные на коллекции объектов, реализующих интерфейс Ienumerable.
17 Linq to Object - пример Пример запрос к коллекции Dictionary : Описание переменной models: private Dictionary models; Заполнение данными: private void InitializeData() {models = new Dictionary (); models.Add(1, "Алгоритмы"); … }
18 Запрос к массиву данных listBox1.Items.Clear(); var items = from s in names where s.StartsWith(tbFilter.Text) select s; foreach (var item in items) { listBox1.Items.Add(item); }
19 Запрос к данным в операторе foreach: var items = from s in names where s.StartsWith(tbFilter.Text) select s;
20 Способ получения результата выполнения запроса без цикла var items = from s in models where s.Value.Contains(tbFilter.Text) select s; listBox1. DataSource = items.ToList();
21 LINQ to XML - пример Описание переменных : private const string Root = "DocumentElement"; private const string FileName = "D:\\tmp.xml"; - название файла для сохранения XML-дерева private XElement xmlDoc; - экземпляр XML-дерева private XNamespace ns = " - пространство имён XML-дерева
22 Формирование XML- документа xmlDoc = new XElement(ns + Root, new XElement(ns + "Продукт", new XElement(ns + "Номер", 1), new XElement(ns + "Название", "Хлеб ржаной"), new XElement(ns + "Изготовитель", "ООО Хохлов"), new XElement(ns + "Дата_изготовления", new DateTime(2013, 06, 20)), new XElement(ns + "Годен_до", new DateTime(2013, 06, 24))), new XElement(ns + "Продукт", new XElement(ns + "Номер", 2), new XElement(ns + "Название", "Хлеб пшеничный"), new XElement(ns + "Изготовитель", "ООО Хохлов"), new XElement(ns + "Дата_изготовления", new DateTime(2013, 06, 24)), new XElement(ns + "Годен_до", null) … ));
23 Linq to DataSet запрос к данным, который вернёт список студентов, получивших оценку 5
24 private void bFilter_Click(object sender, EventArgs e) { xmlDoc = new XElement(ns + Root, from item in xmlDoc.Elements() where (item.Element(ns + "Годен_до").IsEmpty) select item); xmlDoc.Save(FileName); webBrowser1.Navigate(FileName); }
25 Linq to SQL Добавляем класс DataPTK.dbml Linq to SQL Classes
26 Диаграмма классов
27 Кроме классов, представляющих собой объекты из базы данных, сгенерирован класс DataPTKDataContext: который представляет собой класс Linq to SQL, который действует как посредник между базой данных SQL Server и классами сущностей Linq to SQL, сопоставленных этой базе данных. Класс DataContext содержит данные строки соединения и методы для подключения к базе данных и работы с данными в базе данных
28 Классы, представляющие объекты базы данных, также позволяют расширение класс Student.cs
29 Linq to Entities Платформа ADO.NET позволяет создавать приложения для доступа к данным, работающие с концептуальной моделью приложения. Entity Framework представляет логическую структуру базы данных, состоящую из слоёв : Концептуальный слой Слой сопоставления Логический слой
30 Работа с данными в Entity При создании приложений на платформе Entity Framework в программном коде предоставляется возможность работать с данными, представленными в форме объектов и свойств, без необходимого прямого обращения к таблицам и столбцам реляционной базы данных.
31 Платформа Entity Framework компилирует набор концептуальных схем и схем хранения вместе с заданными для них сопоставлениями. Клиентские представления – пары инструкций Entity SQL управляют обработкой запросов и обновлений в среды выполнения.
32 Платформа Entity Framework строится из поставщиков данных ADO.NET, специфичных для типа хранилища данных, например SQL Server. Базовому поставщику данных и реляционной базе данных передаётся объект EntityConnection.
33 Во время выполнения запрос проходит синтаксический анализ и преобразуется в каноническое дерево команд, которое является представлением запроса в модели объектов. Канонические деревья команд представляют операции выбора, обновления, вставки и удаления. Вся дальнейшая обработка выполняется над деревом команд, которое является средством взаимодействия между поставщиком System.Data.EntityClient и базовым поставщиком данных.Net Framework, например System.Data.SqlClient
34 Entity Data Model Спецификация – сущностная модель данных EDM. Схема макета применяется для создания программируемых классов, используемых кодом приложения. Схема хранилища – содержит материализующие данные для приложений.
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.