LINQ

В данный момент я руковожу несколькими проектами на платформе .NET. Давно я не писал о разработке. Технологии разработки ПО за последние годы серьёзно развились.

Чего только стоит Microsoft LINQ. Эта штука – фактически язык запросов для данных, независимо от их источника. Можно и для БД применять (это LINQ to SQL), можно для XML, можно для списков/массивов. На днях пришлось накидать простенькую софтину на пару сот строк кода, и для работы с данными (который в БД SQL Server 2008 лежат) решил применить LINQ. Ниже кусочек кода:

using (DataClassesDataContext dc = new DataClassesDataContext())

{

dc.Names.InsertAllOnSubmit(names

.Where(n => n != “”)

.Distinct()

.Except(dc.Names.Select(n => n.Title))

.Select(n => new Name() { Title = n }));

dc.SubmitChanges();

}

Здесь я беру string[] и закидываю эти данные в БД, для каждого элемента массива создавая отдельную строку в таблице Names. При этом тут же делается проверка на уникальность, как в исходном массиве (если строка в массиве встречается дважды, то обрабатывается только один раз), так и в БД ( если в таблице уже есть строка с таким значением в поле Title, то я её не добавляю). Также проверяем на то, что строка не пустая.

Просто, кратко и удобно. На всё 10 строк простого хорошо читаемого кода.

С решениями Microsoft приятно работать.

Павел Сурменок

http://surmenok.ru/