Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Разработка приложений баз данных (Visual Studio 2008).docx
Скачиваний:
143
Добавлен:
26.03.2016
Размер:
1.01 Mб
Скачать

Включение базовой функциональности linq

  1. В проекте Visual Basic или C# в меню ПроектвыберитеДобавить ссылку.

  2. В диалоговом окне Добавление ссылкиоткройте вкладку .NET, прокрутите до файлаSystem.Core.dllи выберите его. Нажмите кнопку ОК.

  3. Добавьте директиву using или оператор Imports для System.Linqв файл с исходным кодом или проект.

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

  • Если уже имеется ссылка на System.Core.dll, добавьте директиву using или инструкцию Imports для System.Linq.Expressions.

Дополнительные сведения см. в разделе Деревья выражений (C# и Visual Basic).

Использование LINQ to XML

  1. При необходимости выполните шаги, описанные ранее в этом разделе для добавления ссылки на System.Core.dll и директивы using или инструкции Imports для System.Linq.

  2. Добавление ссылки на System.Xml.Linq.

  3. Добавьте директиву using или инструкцию Imports для System.Xml.Linq.

Примечание

Эта функциональность доступна для проектов Visual Basic по умолчанию.

Дополнительные сведения см. в разделе LINQ to XML.

Использование LINQ to SQL

  1. При необходимости выполните шаги, описанные ранее в этом разделе для добавления ссылки на System.Core.dll и директивы using или инструкции Imports для System.Linq.

  2. Добавьте директиву using или инструкцию Imports для System.Data.Linqили одного из других пространства имен System.Data.Linq в зависимости от требований конкретного проекта.

Дополнительные сведения см. в разделе LINQ to SQL.

Использование LINQ to Dataset

  1. При необходимости выполните шаги, описанные ранее в этом разделе для добавления ссылки на System.Core.dll и директивы using или инструкции Imports для System.Linq.

  2. Добавьте ссылку на System.Data.DataSetExtensions.dll для функциональных возможностей LINQ to DataSet.Добавьте ссылку на System.Data.dll, если она еще не существует.

  3. Добавьте директиву using или инструкцию Imports для System.Data и, при необходимости, для System.Data.Common, System.Data.SqlClient, в зависимости от способа подключения к базе данных.

Дополнительные сведения см. в разделе LINQ to DataSet.

Введение в запросы linq (c#)

Запрос представляет собой выражение, извлекающее данные из источника данных. Запросы обычно выражаются на специальном языке запросов. Со временем были разработаны различные языки для различных типов источников данных, например SQL для реляционных баз данных и XQuery для XML.Таким образом, разработчики вынуждены изучать новый язык запросов для каждого типа источника данных или формата данных, который они должны поддерживать. LINQ упрощает ситуацию, предлагая единообразную модель для работы с данными в различных видах источников и форматов данных. В запросе LINQ работа всегда осуществляется с объектами. Для запросов и преобразований данных в XML-документах, базах данных SQL, наборах данных ADO.NET, коллекциях .NET и любых других форматах, для которых доступен поставщик LINQ, используются одинаковые базовые шаблоны кодирования.

Три части операции запроса

Все операции запроса LINQ состоят из трех различных действий.

  1. Получение источника данных.

  2. Создание запроса.

  3. Выполнение запроса.

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

C#

class IntroToLINQ

{

static void Main()

{

// The Three Parts of a LINQ Query:

// 1. Data source.

int[] numbers = new int[7] { 0, 1, 2, 3, 4, 5, 6 };

// 2. Query creation.

// numQuery is an IEnumerable<int>

var numQuery =

from num in numbers

where (num % 2) == 0

select num;

// 3. Query execution.

foreach (int num in numQuery)

{

Console.Write("{0,1} ", num);

}

}

}

На следующем рисунке показана завершенная операция запроса. В LINQ выполнение запроса отличается от самого запроса; другими словами, создание переменной запроса само по себе не связано с получением данных.