Динамични данни, Създаване на приложение за динамични данни
ASP.NET --- Уеб сайтове на ASP.NET --- Създаване на приложение за динамични данни
Динамичните данни на ASP.NET ви позволяват да създавате уеб приложения, ориентирани към данни, бързо и с малко усилия. Страниците с шаблони се попълват чрез извеждане на информация за типа от схемата на модела на данни, което изисква малко или никакво кодиране. Количеството функционалност, което може да бъде постигнато само за 15 минути работа, може да бъде доста впечатляващо и след като основните инструменти са налице, много опции стават достъпни за персонализиране.
Най-добрият начин да започнете с ASP.NET Dynamic Data е да създадете примерен уебсайт. Това е единственият начин да видите колко лесно е да подготвите сайт за употреба и колко много възможности отваря това. Примерите ще използват примерната база данни на Microsoft Northwind.
Сърцето на уебсайт с динамични данни на ASP.NET е моделът на базата данни. Този модел може да бъде генериран с помощта на LINQ към SQL или Entity Framework. Ще използваме LINQ към SQL. Основният подход към динамичната обработка на данни остава същият, независимо каква технология се използва за проекти.
Създайте сайт с динамични данни
Първо, ще трябва да създадете нов проект за динамични данни на ASP.NET. Във Visual Studio изберете елемента от менюто Файл --> Ново --> уебсайт. Задайте шаблона на ASP.NET Dynamic Data Linq към SQL уеб сайт, както е показано на фигурата по-долу. Щракнете върху бутона OK, за да създадете проекта.

За създаване на модел на данни, който динамичната система ще използваданни, щракнете с десния бутон върху иконата на уебсайта в прозореца на Solution Explorer, изберете Добавяне на нов елемент от контекстното меню и изберете шаблона LINQ to SQL Classes от списъка с шаблони. Тъй като този пример използва базата данни Northwind, назовете новия елемент Northwind.dbml. Ще се отвори диалогов прозорец с предупреждение, който ви подканва да поставите класовете LINQ to SQL в папката App_Code, както е показано на фигурата по-долу:

Щракнете върху бутона Да. Файлът Northwind.dbml се създава в проекта и се отваря прозорецът Visual Object Relationship Builder. Сега моделът на данни трябва да бъде попълнен с необходимите таблици на базата данни. Разгънете елемента Northwind Tables в панела Server Explorer и плъзнете таблиците Customers, Orders, Order_Details и Products в прозореца на визуалния дизайнер. Прозорецът на Visual Studio трябва да изглежда като изображението по-долу, показвайки таблиците, които са импортирани в модела на данни, и връзките на външния ключ между тях.

Промяната на типа води до регистриране на модела на данните. Промяната на стойността на свойството ScaffoldAllTable казва на ASP.NET Dynamic Data System, че и четирите таблици, които са били включени в модела на данни, трябва да бъдат показани в уеб приложението. Това е всичко - сайтът ASP.NET Dynamic Data е създаден. Резултатът е анализиран в следващия раздел.
Анализ на сайта с динамични данни

Това, което виждаме, е скеле - системата за динамични данни ASP.NET е извлякла четири таблици от модела на данни и е изградила структура около тях. Страницата по подразбиране на сайта, която е Default.aspx, съдържа връзка за всяка от таблиците.
Кликнете върху връзката Клиенти. Страницата ще се отворикойто съдържа първите десет записа от таблицата Customers в базата данни Northwind, както е показано на фигурата по-долу:

ASP.NET Dynamic Data създаде таблица от модел на данни. Както можете да видите, колоните на таблицата на уеб страницата съответстват на колоните в таблицата Клиенти в базата данни.
Автоматично генерираният шаблон поддържа редица интересни функции. В долната част на екрана можете да промените броя на записите, показвани на страница. Можете също да навигирате между страниците или да прескочите до конкретна страница. От лявата страна на всеки ред има три връзки - Редактиране (Редактиране), Изтриване (Изтриване) и Детайли (Информация). Щракването върху връзката Редактиране отваря нова страница, където можете да редактирате записа (и да запазите промените си, като щракнете върху връзката Актуализиране). Връзката Подробности показва подобна страница, но без възможност за промяна на данните. Връзката Изтриване, както може би се досещате, ви позволява да изтривате записи от базата данни. Щракването върху заглавката на една от колоните сортира данните, използвайки тази колона като ключ.
Погледнете дясната страна на прозореца на браузъра. Системата за динамични данни ASP.NET откри, че таблиците Клиенти и Поръчки са свързани чрез връзка с външен ключ и автоматично добави връзка Преглед на поръчки за всеки запис. Щракването върху една от тези връзки ще покаже страница, която съдържа всички поръчки за избрания клиент:

Щракнете върху връзката Назад към началната страница, за да се върнете към списъка с маси и щракнете върху връзката Поръчки. Имайте предвид, че тази страница съдържа падащ списък с клиенти, както е показано на изображението по-долу. Падащият списък съдържа имената на всички клиенти и изборът на клиент води доза филтриране на данните на страницата за показване на поръчки само за този клиент.

Структура на проекта за динамични данни на ASP.NET
Чрез генериране на модел на данни и промяна само на един ред код, успяхме да създадем уеб приложение, което представя таблици от база данни - и го прави по сложен и удобен начин. Имаме пълна поддръжка за CRUD операции и разумно използване на външни ключове, което прави интерфейса по-лесен за използване. ASP.NET Dynamic Data предлага много иновативен подход.
След като вече знаете как изглежда едно приложение за динамични данни на ASP.NET, е време да разгледаме по-отблизо проекта, за да разберем как функционират основните му компоненти.
Системата за динамични данни ASP.NET не е инструмент за генериране на код, както може да изглежда. Всъщност това е много гъвкава и конфигурируема система от шаблони. Можете да започнете да научавате как работи от прозореца Solution Explorer на текущия проект във Visual Studio.
Директорията App_Code съдържа кода на приложението. Там все още няма нищо друго освен класовете на модела на данни, но ще добавим малко код, когато започнем да настройваме сайта в следващите раздели. Папката App_Data съдържа източника на данни.
Папката DynamicData представлява по-голям интерес. Разгънете го в прозореца Solution Explorer и след това отворете папката PageTemplates, както е показано на фигурата по-долу: