Создание первого приложения в MVC 4
Данное руководство устарело. Актуальное руководство: Руководство по ASP.NET Core
Последнее обновление: 31.10.2015
Сейчас мы создадим первое примитивное приложение на mvc 4, которое призвано дать некоторое начальное понимание работы mvc. В качестве шаблона проекта мы выберем шаблон Empty и создадим мини-приложение с нуля.
Что будет делать наше приложение? Приложение будет представлять примитивную эмуляцию книжного магазина, в котором мы сможем просматривать список книг и оформлять покупку.
Итак, откроем Visual Studio или Visual Web Developer, в меню выберем File -> New Project.. и среди шаблонов проектов выберем шаблон ASP.NET MVC 4 Web Application и как-нибудь назовем новый проект, например, BookStore. Затем в окне создания нового проекта ASP.NET MVC 4 Web Application выберем шаблон Empty:
После этого будет создан по сути пустой проект, в котором еще ничего нет. Нам предстоит наполнить его.
Во-первых, нам предстоит работать с данными, которые должны быть представлены некими моделями. Для нашей задачи мы можем выделить две области данных: информация о книге и информация, связанная с оформлением покупки. Соответственно, мы создадим две модели. Итак, в нашем приложении уже определена папка Models. В ней будут находиться наши модели. Нажмем на эту папку правой кнопкой мыши и в появившемся меню выберем Add->Class…. Назовем новый класс или модель Book и добавим в него код, описывающий модель книги:
namespace BookStore.Models
{
public class Book
{
// ID книги
public int Id { get; set; }
// название книги
public string Name { get; set; }
// автор книги
public string Author { get; set; }
// цена
public int Price { get; set; }
}
}
Теперь таким же образом создадим класс для оформления покупки – класс Purchase:
using System; namespace BookStore.Models { public class Purchase { // ID покупки public int PurchaseId { get; set; } // имя и фамилия покупателя public string Person { get; set; } // адрес покупателя public string Address { get; set; } // ID книги public int BookId { get; set; } // дата покупки public DateTime Date { get; set; } } }
Условности при создании моделей
В данном случае надо сказать, что в данном случае действуют некоторые условности. Поскольку база данных и соответствующая ей модель должна
иметь первичный ключ (Primary Key), то мы его должны естественно определить. У нас есть два пути определения ключа. В данном случае мы использовали
определение ключа по названию свойства. Для этого модель должна содержать свойство с именем Имя_моделиId или просто Id. Так, у нас
в модели Purchase определено свойство PurchaseId, то есть данное свойство является первичным ключом.
Создание контекста данных и EntityFramework
Для более удобного доступа к данным рекомендуется использовать фреймворк Entity Framework, хотя его использование необязательно и всецело зависит от предпочтений разработчика. Этот фреймворк позволяет абстрагироваться от структуры конкретной базы данных и вести все операции с данными через модель.
Поскольку мы создали проект по шаблону Empty, который практически не содержит никаких файлов, то нам надо будет добавить в проект файлы EntityFramework для взаимодействия с БД. Если бы мы создавали проект по другому шаблону, например, Basic или Internet Application, то библиотека EntityFramework уже была бы добавлена по умолчанию.
Итак, добавим в проект поддержку EntityFramework и для этого нажмем правой кнопкой мыши в структуре проекта на узел References (который содержит подключенные
в проект библиотеки) и в появившемся меню выберем Manage NuGet Packages.
..
В окне управления пакетами NuGet в правом верхнем углу введите в поле поиска Entity и нажмите Enter. После этого все найденные пакеты, которые имеют отношение к запросу, будут отображены в среднем столбце, как показано на рисунке:
Затем устанавливаем пакет, и после того, как закончится установка, мы можем использовать все преимущества EntityFramework для управлением данными.
После установки создадим контекст данных. Он нужен для облегчения доступа к БД на основе некоторой модели. Добавим в папку Models новый класс BookContext со следующим содержанием:
using System;
using System.Collections.Generic;
using System.Web;
using System.Data.Entity;
namespace BookStore.Models
{
public class BookContext : DbContext
{
public DbSet<Book> Books { get; set; }
public DbSet<Purchase> Purchases { get; set; }
}
}
Чтобы создать контекст, нам надо унаследовать новый класс от класса DbContext.
Свойства типа public DbSet<Book> Books { get; set; } помогают получать набор данных определенного типа (в данном случае
типа Book).
В итоге EntityFramework сам возьмет на себя заботу по созданию базы данных. То есть в данном случае мы будем использовать так называемый подход Code First – у нас есть модели, и по ним фреймворк будет создавать таблицы в базе данных.
Наконец, укажем строку подключения. Откроем файл
<connectionStrings>
<add name="BookContext" connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename='|DataDirectory|\Bookstore.mdf';Integrated Security=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
Тем самым мы определяем путь к базе данных, которая потом будет создаваться. Выражение |DataDirectory| представляет заместитель,
который указывает, что база данных будет создаваться в проекте в папке App_Data.
НазадСодержаниеВперед
| |||||||||||||||||||||||||||||||||
|
Программирование баз данных на C#
Темы:
- Введение в системы баз данных
- SQL Server и SQL Server Management Studio (SSMS)
- Язык структурированных запросов (SQL)
- Представления, хранимые процедуры и триггеры
- Моделирование базы данных
- Связь с базой данных на C#
База данных — это структурированный способ хранения большого количества информации.
Информация хранится в разных таблицах.
Некоторые из самых популярных сегодня систем баз данных:
- SQL Server
- MySQL
- МарияДБ
Мы сосредоточимся на SQL Server от Microsoft.
Видео: Введение в системы баз данных :
Ваш браузер не поддерживает видео тег.
PowerPoint используется в видео
Это видео также доступно на моем канале Youtube (промышленные ИТ и автоматизация).
SQL Server — это система баз данных от Microsoft. SQL Server поставляется в различных редакциях, для базового личного использования рекомендуется SLQ Server Express, поскольку он прост в использовании и бесплатен. Последняя версия — SQL Server 2019.
Загрузить программное обеспечение:
Загрузить SQL Server Express Edition + Management Studio (необходимо установить оба)
Установка SQL Server — шаг за шагом (в этом руководстве SQL Используется Server 2016, но процесс установки практически идентичен SQL Server 2019.
)
Видео: SQL Server :
Ваш браузер не поддерживает видео тег.
Это видео также доступно на моем канале Youtube (промышленные ИТ и автоматизация).
Строка подключения
Во время установки SQL Server следует выбрать «Смешанный режим» (т. е. как «Аутентификация SQL Server», так и «Аутентификация Windows») и ввести пароль для пользователя sa.
«Проверка подлинности Windows» является параметром по умолчанию во время установки, поэтому обязательно выберите «Смешанный режим» (т. е. «Проверка подлинности SQL Server» и «Проверка подлинности Windows») и введите пароль для вашего пользователя sa.
В настольных приложениях WinForm строку подключения следует поместить в файл App.config, а для приложений ASP.NET Core строку подключения следует поместить в файл appSettings.json.
Подключение к базе данных из C#
Аутентификация SQL Server
При использовании «Аутентификации SQL Server» строка подключения выглядит следующим образом:
ИСТОЧНИК ДАННЫХ=<имя SQL Server>;DATABASE=<имя базы данных>;UID =sa;PWD=<Ваш пароль>;
Замените <имя SQL Server> на имя вашего SQL Server, обычно “<имя вашего компьютера>\SQLEXPRESS”, если вы используете SQL Server Express.
UID — это пользователь SQL Server, здесь вы можете создать своего собственного пользователя SQL Server внутри SQL Server Management Studio или использовать встроенного пользователя sa (sa= S ystem A администратор). Во время установки SQL Server вам нужно выбрать «Смешанный режим» и ввести пароль для вашего пользователя sa.
Это может выглядеть примерно так:
ИСТОЧНИК ДАННЫХ=DELLPCWORK\\SQLEXPRESS;БАЗА ДАННЫХ=ИЗМЕРЕНИЯ;UID=sa;PWD=Password123;
Localhost:
Если вы не знаете имя своего ПК или используете несколько ПК, рекомендуется использовать «LOCALHOST» вместо реального имени компьютера (при условии, что приложение и база данных находятся в находится на том же компьютере).
ИСТОЧНИК ДАННЫХ=LOCALHOST\\SQLEXPRESS;БАЗА ДАННЫХ=ИЗМЕРЕНИЯ;UID=sa;PWD=Password123;
Вы также можете включить «Аутентификацию SQL Server» в SQL Server Management Studio (SSMS) после установки SQL Server.
Чтобы изменить режим проверки подлинности, выполните следующие действия:
В обозревателе объектов SQL Server Management Studio щелкните сервер правой кнопкой мыши и выберите пункт Свойства.
На странице Безопасность в разделе Проверка подлинности сервера выберите новый режим проверки подлинности сервера и нажмите кнопку ОК.
В диалоговом окне SQL Server Management Studio нажмите кнопку ОК, чтобы подтвердить требование перезапустить SQL Server.
В обозревателе объектов щелкните правой кнопкой мыши сервер и выберите «Перезапустить». Если агент SQL Server запущен, его также необходимо перезапустить. Или просто перезагрузите компьютер.
Затем, чтобы включить вход sa, выполните следующие действия:
В обозревателе объектов разверните узел Безопасность, разверните узел Входы, щелкните правой кнопкой мыши sa и выберите пункт Свойства.

На странице Общие может потребоваться создать и подтвердить пароль для входа в систему.
На странице Состояние в разделе Вход щелкните Включено, а затем нажмите кнопку ОК.
Внимание! После этого вам нужно перезагрузить компьютер (ну, достаточно перезапустить «службу Sql…»), чтобы она заработала.
Аутентификация Windows
При использовании «Аутентификации Windows» строка подключения выглядит следующим образом:
ИСТОЧНИК ДАННЫХ=DELLPCWORK\\SQLEXPRESS;БАЗА ДАННЫХ=ИЗМЕРЕНИЯ;Встроенная безопасность = Истина;
Localhost:
Если вы не знаете имя своего ПК или используете несколько ПК, рекомендуется использовать «LOCALHOST» вместо реального имени компьютера (при условии, что приложение и база данных находятся в находится на том же компьютере).
ИСТОЧНИК ДАННЫХ = ЛОКАЛЬНЫЙ ХОСТ\\SQLEXPRESS; БАЗА ДАННЫХ = ИЗМЕРЕНИЯ; Встроенная безопасность = Истина;
Здесь вы можете узнать больше о строках подключения.
SQL (Structured Query Language) — это компьютерный язык баз данных, предназначенный для управления данными в системах управления реляционными базами данных (RDBMS).
Учебные пособия:
Язык структурированных запросов (SQL) (PDF)
Дополнительные ресурсы:
Язык структурированных запросов — базовый курс SQL от Khan Academy
Учебное пособие по SQL — базовое обучение SQL на сайте w3schools.com
Представления, хранимые процедуры и триггеры являются важными компонентами для извлечения, обновления и обработки данных в базе данных.
Видео: Представления базы данных и хранимые процедуры :
Ваш браузер не поддерживает видео тег.
PowerPoint используется в видео
Это видео также доступно на моем канале Youtube (промышленные ИТ и автоматизация).
Видео: Моделирование баз данных с помощью ERwin :
Ваш браузер не поддерживает видео тег.
PowerPoint используется в видео
Это видео также доступно на моем канале Youtube (промышленные ИТ и автоматизация).
Клиентское программирование SQL Server
ADO.NET — это основная технология доступа к данным для языков .NET.
System.Data.SqlClient (или более новый Micrsoft.Data.SqlClient) — это поставщик или пространство имен, которое вы обычно используете для подключения к SQL Server.
Приложение Windows Forms
SQL Server с C# Приложение Windows Forms (YouTube) + PowerPoint (PDF)
Веб-приложение ASP.NET Core
Ниже приведены некоторые ресурсы для ASP.NET Core.
Видео: ASP.NET Core — связь с базой данных :
Ваш браузер не поддерживает видео тег.
PowerPoint используется в видео
Это видео также доступно на моем канале Youtube (промышленные ИТ и автоматизация).
Видео: ASP.NET Core — приложение CRUD :
Ваш браузер не поддерживает видео тег.
PowerPoint используется в видео
Это видео также доступно на моем канале Youtube (промышленные ИТ и автоматизация).
Дополнительные ресурсы:
Знакомство с новым Microsoft.Data.SqlClient
Работа с новым Microsoft.Data.SqlClient (Microsoft, Channel 9)
Примеры кода
Здесь вы можете скачать примеры в Веб-программирование | ASP.NET Core (учебник, PDF):
Связь с базой данных
Приложение CRUD для базы данных
Weather System
Entity Framework Core сильно упрощает работу с объектно-реляционной базой данных, которая упрощает использование объектно-реляционной базы данных.
типизированные объекты .NET.
Entity Framework Core 101 (Microsoft, Channel 9) — 5 видео — Начало работы с EF, создание веб-приложений ASP.NET Core с помощью EF Core.
На этом форуме каждый может задавать вопросы, отвечать на вопросы, давать советы и рекомендации по C#. Пожалуйста, используйте полное имя и изображение.
Включите JavaScript для просмотра комментариев с помощью Disqus.
Какую базу данных использовать для веб-сайта C# ASP.NET?
спросил
Изменено 9 лет, 3 месяца назад
Просмотрено 4к раз
Я разрабатываю внутренний онлайн-портал (например, пользователи пишут тесты, предоставляют ссылки на документы для изучения, заполняют дорожную карту исследования, пользователь-администратор для просмотра статистических данных и т.
д.). Он обслуживает около 150 пользователей. Я планировал использовать ASP .NET с С# в Visual Studio 2008 на Windows XP. Я реализую с использованием Forms и NOT MVC , так как я чувствую себя как дома с формами.
Я не хочу использовать проверку подлинности Windows, поскольку у каждого пользователя будет много связанных с ним атрибутов, и поэтому будет легко использовать базу данных. Безопасность не является проблемой, поскольку она используется только для внутренних целей.
У меня есть только хорошее знание ASP, C# и VS 2008.
Теперь мои вопросы:
Могу ли я использовать базу данных сервера MS SQL, встроенную в VS 2008? (Я не могу запрашивать внешние базы данных)
Могу ли я полностью экспортировать веб-сайт вместе с базами данных на сервер IIS, работающий на другом компьютере? Как?
Нужно ли экспортировать базы данных отдельно или предоставлять скрипт создания базы данных, например PHP?
(У меня есть еще вопросы.
Буду обновлять, как только начну).
(это мое первое веб-приложение .net. Могу ли я узнать, где я могу найти сценарии входа в систему, нумерацию страниц, примеры и многое другое)
редактировать: что использовать? Новый веб-сайт или новое веб-приложение?
- asp.net
- база данных
- visual-studio-2008
- iis
- формы
4
Вы можете использовать практически любую базу данных, но, судя по вашим требованиям, вы хотите присмотреться к чему-то вроде SQLExpress, SQL Server Compact Edition или SQLLite.
Могу ли я полностью экспортировать веб-сайт с базами данных на сервер IIS работает на другом компьютере? Как?
Ваша база данных будет отправлена вместе с вашим приложением, если вы используете одну из указанных выше опций базы данных.
Нужно ли экспортировать базы данных отдельно или предоставить базу данных сценарий создания, такой как PHP?
См.
мой комментарий выше, база данных будет существовать, когда вы развернете свой веб-сайт в IIS. Это физический файл, который будет находиться в вашей папке APP_DATA.
1
Можно использовать:
MySQL, причина: у него нет места или ограничения по памяти!
SQL Server или SQL CE. Они оба похожи, они просто отличаются функциями слота, а также хранилищем! SQL CE позволяет вам иметь 4 ГБ. Но SQL Server позволяет вам иметь 10 ГБ.
Так что все зависит от вашей работы!
Так же хотел указать на одну ошибку в посте, что SQL CE присутствует в App_Data, Исправьте! Но SQL Server находится где-то вроде: C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS\MSSQL\here_will_it_be
И да, вы можете перенести его куда угодно. Я имею в виду, что если вы хотите загрузить его на хостинг-сервер, вы можете загрузить его с помощью веб-развертывания! Или какой сервис.

Models
{
public class Purchase
{
// ID покупки
public int PurchaseId { get; set; }
// имя и фамилия покупателя
public string Person { get; set; }
// адрес покупателя
public string Address { get; set; }
// ID книги
public int BookId { get; set; }
// дата покупки
public DateTime Date { get; set; }
}
}

– 376 c.
– М.: Питер, 2008. – 128 c.
Совместное использование
MS Visual C++ 2010 в среде .NET
Маршрутизация и коммутация
Использование HTML 4. Специальное издание (+ CD – ROM)