Курсова работа по ASP NET


Категория на документа: Информатика


* Филтриране на данни и получаване на резултат от LINQ заявка
* Използвайки ключовата дума "where" ние задаваме условията, на които всеки един от елементите от колекцията трябва да изпълнява, за да продължи да се изпълнява заявката от него. С "where" филтрираме основно елементите от източника на данни.
* Използвайки ключовата дума "select" ние задаваме какви данни да се върнат от заявката, която сме падали към LINQ. Получения резултат от заявката може да бъде под формата на обект от съществуващ клас данни или от анонимен тип. Операторът "select" се използва и поставя винаги след всичко останало и в края на подадената заявка.
* Чрез използването на LINQ можем да сортираме различни данни. За целта ще е необходимо да използване ключовата дума "orderby". За правилното написване на кода след нея е необходимо да поставим условията, по които искаме да подредим елементите, участващи в подадената заявка. Можем да поставим различни условия за изпълнението на подредбата: да се подредят в низходящ ред /използвайки ключовата дума: descending/ или възходящ ред /използвайки ключовата дума: ascending/; В случай, че не зададем начин на сортиране на елементите от заявката, ще се вземе елемента в реда, в който колекцията би ги върнала при аналогична работа с foreach оператора.
* Пример за сортиране на данни с LINQ:

* Обяснение на зададения пример:
Програмата има зададени следните входящи данни:
* Пет думи с различна дължина, по броя на буквите в тях.
* Зададено е условието: да се подредят по своята дължина в низходящ ред, чрез използването на ключовата дума: "descending"
* Да се визуализират при изпълнението на условието.

* Въпроси:
1. При задаване на ключова дума "descending" данните се подреждат:
a) Във възходящ ред
b) В низходящ ред
c) Не се подреждат
d) Смесено
2. Можем ли да използване ключовата дума "ascending" за подреждане на данните в низходящ ред?
a) Да, използваме "ascending"
b) Не, не използваме "ascending"
c) Използва се заедно с "descending"
d) Използва се заедно с "where"
* LINQ to......

Като основа имаме езиците C#, Visual Basic и др. В тяхното използване ние извикваме LINQ. От своя страна LINQ се свързва с обектите, които сме въвели, към бази данни /SQL, DataSets/.
Използването на LINQ има три важни стъпки:
- Въвеждаме входните данни, върху които ще работим.
- Въвеждаме изискванията на своята заявка
- Изпълнение на заявката от LINQ и връщане на исканите данни.

* LINQ to SQL
Използвайки не абревиатурите, а цялостното наименование ще получим Language Integrated Query to Structured Query Language. Както знаем SQL е Език за структурирани запитвания, популярен, като език за програмиране, чрез който се създават, модифицират и манипулират данни от релационните системи за управление на бази данни. LINQ to SQL ни позволява да работим с таблици в база данни, като използваме класовете в .NET. В случая имаме възможност да направим заявка на предпочитаният от нас език на .NET, които да манипулират данни намиращи се в SQL Server. С този инструмент имаме възможност да обработваме данните, намиращи се в паметта, например да сортираме, групираме и обработваме информация на основа на ключови части информация. Най-важната част на LINQ си остава LINQ to SQL, който можем да извличаме информацията от SQL базата данни, чрез използването на опростени LINQ заявки.
Всяка една таблица от базата се превръща в клас, а отделните колони на таблицата се превръщат в свойства (т. нар. properties) на класа. От своя страна релационния модел на БД се превръща в обектно ориентиран модел.Генерирането на този обектно ориентиран модел се осъществява, чрез придърпване пускане на таблиците в дизайнера. Когато приложението стартира своята работа, всички заявки писани в кода се превръщат в SQL заявки и се пращат на SQL сървъра където те се изпълняват. Връщания резултата от заявките минава отново през LINQ to SQL и се превръща в обекти.

* DataSet

DataSet e ядрото на ADO.NET, тъй-като всичко се разполага в DataSet.

Когато данните са в DataSet, и други потребители ще могат да добавят нови редове към таблиците в базата от данни. Един от недостатъците е, че няма начин да се разбере, че съдържанието на DataSet вече е променено и не съответства на оригинала на базата от данни. Това може да се установи, едва когато се направи нов опит за обновяването на базата от данни. Като резултат тази архитектура не е най-подходяща за приложения например от типа на приложение за резервация на самолетни места. За да се получат данни в DataSet, първо е необходимо да се установи връзка с БД от данни. Обекта Connection позволява да се определи базата от данни с която ще се работи, и е един от обектите на ADO.NET. Между базата от данни и DataSet има още един обект - обекта DataAdapter. Комуникацията между базата от данни и DataSet става посредством DataAdapter. Това е обекта, който знае как ще се актуализират данните в базата от данни, как да отстрани данни от БД и как да предостави нужните данни на DataSet. Както ще се окаже скоро, обекта DataAdapter притежава четири команди за получаване на данни от базата с данни, актуализиране и изтриване на съществуващи данни в базата с данни, както и за вмъкване на нови данни в базата от данни. Тези команди са SQL оператори, и това е всичко което е нужно на DataAdapter за да служи като посредник между DataSet и базата от данни.

Първото предимство за обекта DataSet е това, че той не се грижи за това откъде идват при него данните, и освен това обекта DataAdapter може да предоставя данни към и от DataSet. В резултат на това, е възможно да се създаде програмно DataSet, да се съхрани този обект върху диска и да се разработва приложение без да е налична база от данни.

DataSet ни предоставя немалко възможности за навигация, сортиране и филтриране на данни. DataSet съдържа в себе си обектите DataTable /таблица, състояща се от редове и колони/ и Relation. Всеки от изброените елементи се реализира във вид на клас.
Основни методи и свойства в класът DataTable:
• Rows[index] - достъп до редовете по номер
• Columns[...] - достъп до колоните (DataColumn) по име или индекс
• NewRow() - създава нов ред (DataRow), но не го добавя в таблицата
• Rows.Add(DataRow) - добавя ред в таблицата
• Columns.Add(DataColumn) - добавя колона
• PrimaryKey - задава/извлича първичния ключ



Сподели линка с приятел:





Яндекс.Метрика
Курсова работа по ASP NET 9 out of 10 based on 2 ratings. 2 user reviews.