Написание запросов LINQ


Основная структура выражения запроса LINQ остается неизменной независимо от источника данных: набор данных ADO.NET, база данных SQL, коллекции .NET Framework или XML-документы. Выражение запроса начинается с предложения from, за которым следуют другие выражения запроса, такие как where, orderby, select и так далее. В переменной запроса хранится полное выражение запроса, который может быть выполнен или изменен любое число раз. Синтаксис выражения запроса похож на синтаксис SQL. Например, можно написать запрос LINQ, возвращающий всех студентов в базе students со специализацией science, используя следующий синтаксис:

IEnumerable<Student> studentQuery =

from student in studentApp.students

where student.Major == "Science"

select student;

LINQ to Objects

Термин LINQ to Objects относится к использованию LINQ для запроса коллекций данных в памяти, таких как классы в пространствах имен System.Collections и System.Collections.Generic. Эти классы включают ArrayList, List<T>, Dictionary<K,T> и так далее. Можно выполнять запросы к массивам, поскольку они неявно поддерживают универсальный интерфейс IEnumerable<T>.

Можно даже импортировать текстовый файл в перечислимую структуру и выполнять запросы с фильтрацией и сортировкой содержимого.


LINQ to SQL

Use LINQ to SQL to access SQL Server and SQL Server Express databases through a strongly-typed object layer that you create by using the O/R Designer.

You can use the O/R Designer to map LINQ to SQL classes to tables in a database and then write LINQ queries to bind data to controls in your application. For example, the following LINQ query binds the results of a LINQ query (all customers from the United States) to a binding source of a DataGridView control.

var CustomersQuery = from customers in northwindSampleDataContext1.Customers where customers.Country == "US" select customers; customerBindingSource.DataSource = CustomersQuery;
Note: The O/R Designer currently does not support SQL Server Compact 3.5 databases.

LINQ to DataSet

The DataSet is used to bind data to controls in an application. Rather than connecting directly to the database, the DataSet enables an application to use off-line (cached) data, or subsets of several data sources. When the application is brought online, the changes in the DataSet can be updated in the database.

LINQ to Dataset makes querying over cached data faster and easier than the filtering and sorting methods available to a DataSet.

LINQ to XML

LINQ to XML enables you to create and modify XML documents easily by using LINQ query expressions instead of XPath or XQuery. LINQ to XML is a new in-memory XML programming API that uses modern programming constructs instead of the W3C Document Object Model (DOM).


LINQ to SQL

Используйте LINQ to SQL для доступа к базам данных SQL Server и SQL Server Express через строго типизированный объектный слой, создаваемый с помощью Объектно-реляционного конструктора.

Можно использовать Объектно-реляционный конструктор для сопоставления классов LINQ to SQL таблицам в базе данных и затем создавать запросы LINQ для привязки данных к элементам управления в приложении. Например, следующий запрос LINQ связывает результаты запроса LINQ (все клиенты из США) с источником привязки элементом управления DataGridView.

var CustomersQuery = from customers in northwindSampleDataContext1.Customers where customers.Country == "US" select customers; customerBindingSource.DataSource = CustomersQuery;
Примечание. Объектно-реляционный конструктор в данный момент не поддерживает базы данных SQL Server Compact 3.5.

LINQ to DataSet

DataSet используется для привязки данных к элементам управления в приложении. Вместо непосредственного подключения к базе данных можно использовать DataSet для создания автономного кэша данных или подмножества нескольких источников данных. Когда приложение переводится в интерактивный режим, изменения в DataSet будут сделаны в базе данных.

LINQ to Dataset выполняет запросы кэшированных данных быстрее и легче, чем методы фильтрации и сортировки, доступные для DataSet.

 

LINQ to XML

LINQ to XML позволяет легко создавать и изменять XML-документы с помощью выражений запросов LINQ вместо использования XPath и XQuery. LINQ to XML является новым программным API для XML в памяти, использующим современные конструкции программирования вместо W3C Document Object Model (DOM).


C# Language Primer



Дата добавления: 2022-05-27; просмотров: 122;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.007 сек.