OrionXL

Создание запросов к спискам с помощью Linq в Visual Studio 2010 для Sharepoint

Роман Иванов @ 11:52 18.11.2010

В этой статье вы узнаете что такое LINQ и как с помощью него делать запросы к спискам.

Что такое LINQ? Language Integrated Query (LINQ) — язык интегрированных запросов, а точнее неоднозначный проект Microsoft по добавлению синтаксиса языка запросов похожий на SQL. Специфическое определение, с помощью этого инструмента можно относительно просто создавать запросы к таблицам и спискам данных, не обязательно к базе данных.

В примерах от Microsoft упускается одна маленькая, но важная деталь. Для работы с набором данных нам нужно использовать структуру DataContext, определение которой можно получить с помощью SPMetal.exe для списка или библиотеки присутствующей на сервере Sharepoint. Иными словами нам сначала необходимо определить этот тип данных, а потом уже создавать запрос :-) Вообще рекомендую воспользоваться специальной утилитой для работы в MVS: Imtech Get SPMetal Definition Extension.

Для работы нам понадобится какой-нибудь список. Воспользуемся простым списком - "настраиваемый список"; название - "Простое обращение"; поля по умолчанию: Номер, Название.

И так, давайте создадим простую веб-часть (web-part) (смотрите соответствующую страничку), с помощью которой будем наблюдать результат наших манипуляций. При создании проекта выберем изолированную модель доверия, если есть необходимость работать со списками или данными других узлов, тогда необходимо создавать проект для фермы.

Далее создадим файл класс  "ПростоеОбращение.cs" с помощью SPMetal.exe или плагина для студии. Добавим ссылку на библиотеку Microsoft.Sharepoint.Linq. Более подробную информацию можно получить на сайте MSDN.

Создание класса с помощью SPMetal

Создание класса с помощью SPMetal

Создадим функцию Render и my_mess. В последней функции будем формировать данные для отображения.

// перегружаем функцию
protected override void Render(HtmlTextWriter writer)
{
base.Render(writer);
my_mess(writer);
}

// Наша функция для работы со списком
public void my_mess(HtmlTextWriter writer)
{
// Создадим контекст
DataContext data = new DataContext("http://localhost");
// Свяжем его с соответствующим списке на сайте в корне
EntityList<Элемент> Simple_Message = data.GetList<Элемент>("Простое обращение");
// Выполним запрос - выберем все строки из списка "Простое обращение"
var query = from mess in Simple_Message
select mess;
// отобразим все данные из результата запроса
foreach (var elem in query)
{
writer.WriteLine("Элемент списка:" + elem.Название.ToString());
writer.WriteBreak();
}

}

Компилируем проект и добавляем на страничку. В результате отобразятся все строки находящиеся в списке.

Продолжение позже (статья не окончена)...

Комментариев нет

Комментариев нет.

RSS-лента комментариев к этой записи.

Извините, обсуждение на данный момент закрыто.

алгоритмы, методы, программы - OrionXL