Открыть Visual Studio.

Создать новый проект (консольный).

Указать тип Visual C# - Windows – Console Application и имя проекта, нажать ОК.

Далее в коде функции Main ввести код программы. И затем запустить программу на выполнение.

Команда вывода данных (1-й параметр – строка вывода, остальные подставляются через фигурные скобки):

Console. WriteLine(" Test - {0} {1}", "Hello!", 123);

Команда ввода:

Console. ReadKey();

Общий код:

static void Main(string[] args)

{

Console. WriteLine(" Test - {0} {1}", "Hello!", 123);

Console. ReadKey();

}

результат:

Работа с базой данных - linq to sql

Открыть MS Visual Studio

Создать проект

Указать его имя и тип.

Контекст БД DataContext

DataContext - это класс, устанавливающий соединение с базой данных. Он также предоставляет несколько служб, обеспечивающих отслеживание идентичности, отсле­живание изменении и обработку этих изменений.

DataContext — это класс, соединяющий с базой данных, отслеживающий то, что мы изменяем, и обновляющий базу данных при вызове метода SubmitChanges.

В LINQ to SQL принято использовать класс, производный от DataContext. Имя про­изводного класса обычно совпадает с именем базы данных, на которую он отобража­ется.

Добавить к проекту класс

И указать его тип – LINQ to SQL

Откроется окно конструктора

Вызвать Server Explorer (из меню Вид) для просмотра объектов БД (соединения с БД)

Выбрать нужное соединение (или создать новое) и в нем открыть БД и ее объекты

Вызвать Server Explorer (из меню Вид) для просмотра объектов БД (соединения с БД)

НЕ нашли? Не то? Что вы ищете?

Перетащить из Server Explorer таблицы, функции и процедуры в окно конструктора.

Открыть окно проекции БД в класс контекста двойным щелчком по названию класса в Solution Erplorer.

Название класса контекста было указано при его создании (по умолчанию DataClasses1).

Откроется код класса контекста, в котором можно посмотреть названия классов и объектов таблиц и их полей.

Обращение к БД из программы

Добавить в проект ссылку на библиотеку

Из контекстного меню решения (проекта) выбрать Add Reference

В проекте перейти к редактированию экранной формы (двойным щелчком по ее названию в Solution Explorer). Поместить на нее таблицу И кнопку.

Для работы с БД создать контекст (переменная БД и ее инициализация при открытии формы)

LINQ to SQL подразумевает использование сущностных классов, причем каждый из них обычно отображается на единственную таблицу базы данных. Таким образом, мы имеем сущностные классы, отображенные на таблицы базы данных, и свойства сущностных классов, отображенные на столбцы этих таблиц. Это отображение “класс-таблица" и “свойство-столбец” являются сутью LINQ to SQL.

Обращение к таблице

Двойным щелчком по кнопке (в редакторе формы) перейти к коду ее обработчика и написать код заполнения таблицы данными из БД:

Обращение таблице через контекст :

Источник данных таблицы = Контекст. таблица

using System;

using System. Collections. Generic;

using ponentModel;

using System. Data;

using System. Drawing;

using System. Linq;

using System. Text;

using System. Windows. Forms;

namespace WindowsFormsApplication6

{

public partial class Form1 : Form

{

public DataClasses1DataContext db;

public Form1()

{

InitializeComponent();

db=new DataClasses1DataContext();

}

private void button1_Click(object sender, EventArgs e)

{

dataGridView1.DataSource = db. persons;

}

}

}

Запустить проект и проверить работу.

Добавить кнопки и в обработчике каждой указать запрос на извлечение данных (формат Linq в точечной нотации, в качестве коллекции указать таблицу).

Вывод в таблицу результата выполнения запроса.

Вызов процедуры или функции:

Обращение через контекст:

Контекст. процедура(параметры)

Вызов хранимых процедур и функций БД происходит через обращение к одноименным методам объекта-контекста. Типы входных и выходных параметров соответствуют объявленным в БД.

Скалярная функция возвращает одно значение, которое присваивается переменной.

Табличная – коллекцию (ее можно присвоить источнику данных или обработать в цикле).

Процедура – 1 значение, коллекцию или ничего ( в зависимости от конкретной ситуации).

Редактирование таблицы

Добавление объекта в таблицу

Создать объект через new,

Присвоить значения его полям,

Добавить через контекст в таблицу,

Сохранить изменения контекста в БД.

Удаление

Открыть объект через запрос к таблице БД,

Выбрать из результата запроса конкретный объект,

Удалить объект из таблицы через контекст,

Сохранить изменения контекста в БД.

Изменение

Открыть объект через запрос к таблице БД,

Выбрать из результата запроса конкретный объект (функция Single() обеспечивает извлечение одного объекта, а не коллекции),

Изменить значения полей объекта

Сохранить изменения контекста в БД.

Работа со связанными таблицами

В запросах к связанным таблицам можно переходить по связям 1-М в обоих направлениях.

Например, таблицы Builders и Road связаны М-1.

В запросе к Builders можно использовать поля road (значение внешнего ключа) и road1(ссылка на связанный объект в другой таблице):

dataGridView1.DataSource = from b in db. builders

where b. road1.src=="СПб"

select new { b. title, b. road, b. road1.id,

b. road1.src, b. road1.dest,

b. road1.type, b. road1.cost };

Из запроса к Road можно использовать поле builders (множество объектов в связанной таблице), например (выбрать дороги, которые строила компания CMYххх)

dataGridView1.DataSource = from r in db. roads

where r. builders. Count()>0 && r. builders. Any(x=>x. title. Contains("CMY"))

orderby r. src, r.dest

select new {r. src, r.dest, r.type, r.id,

t = r. builders. First(x => x. title. Contains("CMY")).title,

r. builders. Count };

Пример задания

1. Работа с коллекциями - LINQ to obiect

В среде MS Visual Studio создать консольное приложение на языке С#. Определить и инициализировать коллекцию (список строк). Используя технологию linq to objects выполнить набор запросов (через точечный синтаксис и запросом):

ñ  строки, содержащие подстроку,

ñ  отсортированные строки,

ñ  (точечный синтаксис) количество строк, являющихся уникальными,

ñ  группировка строк длиной 3 символа по первой букве. В результат — первая буква строки, количество строк в группе (генерация объектов «на лету»).

Результат отобразить на экране.

2. Работа с базой данных - linq to sql

2.1. Создать БД

В среде MS SQL Server Management Studio создать БД lab6_91 (или использовать созданную ранее) и добавить в нее таблицы

"Hotel"(отель), содержит свойства:

·  hname - название – строковое varchar(10), (КЛЮЧ),

·  hcity – город – строковое varchar(15),

·  stars – количество звезд – целое.

"Client" (клиент), содержит свойства:

·  fio - ФИО – строковое, varchar(50),

·  num - номер – целое,

·  ofhotel — отель — varchar(10),(ВНЕШНИЙ КЛЮЧ)

·  id - идентификатор (КЛЮЧ - PK) – целое, автоинкремент.

Открыть таблицы на редактирование и заполнить тестовыми данными.

2.2. Создать windows приложение на языке С#. Настроить соединение с созданной ранее (в п.1) БД. Подключить все таблицы. Создать форму, содержащую таблицы, набор полей и кнопок. Определить элементы и действия:

ñ  Отобразить отели в таблицу.

ñ  Продемонстрировать добавление, удаление и редактирование отеля.

Продемонстрировать запросы с фильтром (вывод в таблицы через дополнительные кнопки):

ñ  Отели 5 звезд,

ñ  Клиенты отелей Москвы,

ñ  Отели с двумя и более клиентами (отель, город, количество клиентов).

Использовать точечный синтаксис и методы коллекций.

Продемонстрировать работу приложения.

3. Работа с xml-документов - linq to XML

3.1. Создать xml-документ

К предыдущему приложению добавить кнопку, по которой формируется xml-документ на основе таблиц БД вида:

<?xml version="1.0" encoding="utf-8"?>

<hotels>

<hotel star=”5” city=”Mos” >

<name> название </name>

<persons>

<person num =”1234”> Петров </person >

<person num =”454”> Иванов </person >

….

</persons>

</hotel>

<hotel star=”4”>

……..

</hotel>

……

</hotels>

3.2. Запросы к xml-документу

Создать консольное или windows приложение на языке С#. Открыть xml-документ. Выполнить ряд запросов (отображение записей по условию, создание, изменение и удаление элементов и атрибутов):

ñ  по указанному отелю список его клиентов,

ñ  добавление, удаление и редактирование клиента отеля,

ñ  города и количество отелей в каждом.

Продемонстрировать работу приложения.

Требования к отчету

·  Титульный лист

·  Задание на выполнение

·  Исходный код создания объектов БД (SQL)

·  Исходный код приложения для работы с LINQ

·  Скриншоты с результатами выполнения команд

Вопросы для самопроверки:

Каковы назначение и возможности языка linq? Отличия linq to objects, sql, xml? Как на языке linq создавать запросы с сортировкой? Как на языке linq создавать запросы с условием? Как на языке linq создавать запросы группировкой? Другие конструкции языка. Запросы с точечным синтаксисом и в формате запроса. LINQ to SQL. Соединение с БД, обращение к таблицам. Переход по связям. LINQ to SQL. Создание, удаление и изменение записей таблицы. LINQ to SQL. Соединение с БД, обращение к процедурам и функциям. LINQ to XML. Создание, удаление и изменение элементов и атрибутов. LINQ to XML. Запросы к документу.

Литература

1.  Джозеф с. Раттц - мл. LINQ. Язык интегрированных запросов в C# 2008 для профессионалов. - Издательский дом Вильямс. - 2008 г.

2.  Основы программирования на C#. - Электронный ресурс [http://www. intuit. ru]

3.  Э. Троелсен. Язык программирования C#2010 и платформа. NET 4.0.

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4

Основные порталы (построено редакторами)

Домашний очаг

ДомДачаСадоводствоДетиАктивность ребенкаИгрыКрасотаЖенщины(Беременность)СемьяХобби
Здоровье: • АнатомияБолезниВредные привычкиДиагностикаНародная медицинаПервая помощьПитаниеФармацевтика
История: СССРИстория РоссииРоссийская Империя
Окружающий мир: Животный мирДомашние животныеНасекомыеРастенияПриродаКатаклизмыКосмосКлиматСтихийные бедствия

Справочная информация

ДокументыЗаконыИзвещенияУтверждения документовДоговораЗапросы предложенийТехнические заданияПланы развитияДокументоведениеАналитикаМероприятияКонкурсыИтогиАдминистрации городовПриказыКонтрактыВыполнение работПротоколы рассмотрения заявокАукционыПроектыПротоколыБюджетные организации
МуниципалитетыРайоныОбразованияПрограммы
Отчеты: • по упоминаниямДокументная базаЦенные бумаги
Положения: • Финансовые документы
Постановления: • Рубрикатор по темамФинансыгорода Российской Федерациирегионыпо точным датам
Регламенты
Термины: • Научная терминологияФинансоваяЭкономическая
Время: • Даты2015 год2016 год
Документы в финансовой сферев инвестиционнойФинансовые документы - программы

Техника

АвиацияАвтоВычислительная техникаОборудование(Электрооборудование)РадиоТехнологии(Аудио-видео)(Компьютеры)

Общество

БезопасностьГражданские права и свободыИскусство(Музыка)Культура(Этика)Мировые именаПолитика(Геополитика)(Идеологические конфликты)ВластьЗаговоры и переворотыГражданская позицияМиграцияРелигии и верования(Конфессии)ХристианствоМифологияРазвлеченияМасс МедиаСпорт (Боевые искусства)ТранспортТуризм
Войны и конфликты: АрмияВоенная техникаЗвания и награды

Образование и наука

Наука: Контрольные работыНаучно-технический прогрессПедагогикаРабочие программыФакультетыМетодические рекомендацииШколаПрофессиональное образованиеМотивация учащихся
Предметы: БиологияГеографияГеологияИсторияЛитератураЛитературные жанрыЛитературные героиМатематикаМедицинаМузыкаПравоЖилищное правоЗемельное правоУголовное правоКодексыПсихология (Логика) • Русский языкСоциологияФизикаФилологияФилософияХимияЮриспруденция

Мир

Регионы: АзияАмерикаАфрикаЕвропаПрибалтикаЕвропейская политикаОкеанияГорода мира
Россия: • МоскваКавказ
Регионы РоссииПрограммы регионовЭкономика

Бизнес и финансы

Бизнес: • БанкиБогатство и благосостояниеКоррупция(Преступность)МаркетингМенеджментИнвестицииЦенные бумаги: • УправлениеОткрытые акционерные обществаПроектыДокументыЦенные бумаги - контрольЦенные бумаги - оценкиОблигацииДолгиВалютаНедвижимость(Аренда)ПрофессииРаботаТорговляУслугиФинансыСтрахованиеБюджетФинансовые услугиКредитыКомпанииГосударственные предприятияЭкономикаМакроэкономикаМикроэкономикаНалогиАудит
Промышленность: • МеталлургияНефтьСельское хозяйствоЭнергетика
СтроительствоАрхитектураИнтерьерПолы и перекрытияПроцесс строительстваСтроительные материалыТеплоизоляцияЭкстерьерОрганизация и управление производством