Поделиться через


Добавление модели (C#)

Рик Андерсон

В этом руководстве описаны основы создания веб-приложения ASP.NET MVC с помощью Microsoft Visual Web Developer 2010 Express с пакетом обновления 1 (SP1), который является бесплатной версией Microsoft Visual Studio. Перед началом работы убедитесь, что вы установили необходимые компоненты, перечисленные ниже. Вы можете установить все из них, щелкнув следующую ссылку: Установщик веб-платформы. Кроме того, предварительные требования можно установить по отдельности, используя следующие ссылки:

Если вы используете Visual Studio 2010 вместо Visual Web Developer 2010, установите необходимые компоненты, щелкнув следующую ссылку: Предварительные требования Для Visual Studio 2010.

К этому разделу можно ознакомиться с проектом Visual Web Developer с исходным кодом C#. Скачайте версию C#. Если вы предпочитаете Visual Basic, переключитесь на версию этого руководства на Visual Basic .

Добавление модели

В этом разделе вы добавите некоторые классы для управления фильмами в базе данных. Эти классы будут частью модели приложения ASP.NET MVC.

Для определения этих классов моделей и работы с этими классами вы будете использовать технологию доступа к данным платформа .NET Framework, известную как Entity Framework. Платформа Entity Framework (часто называемая EF) поддерживает парадигму разработки Под названием Code First. Code First позволяет создавать объекты модели путем написания простых классов. (Эти классы также называются классами POCO из "обычных старых объектов CLR".) Затем вы можете создать базу данных на лету из ваших классов, что обеспечивает очень чистый и быстрый рабочий процесс разработки.

Добавление классов моделей

В Обозреватель решений щелкните правой кнопкой мыши папку Models, выберите Добавить, а затем — Класс.

Снимок экрана: окно Обозреватель решений. Выберите Добавить в контекстном меню Модели. Класс выбирается во вложенном меню.

Назовите класс "Movie".

CreateMovieClass

Добавьте в класс следующие пять свойств Movie :

public class Movie 
{
    public int ID { get; set; }
    public string Title { get; set; }
    public DateTime ReleaseDate { get; set; }
    public string Genre { get; set; }
    public decimal Price { get; set; }
}

Мы будем использовать класс для Movie представления фильмов в базе данных. Каждый экземпляр Movie объекта будет соответствовать строке в таблице базы данных, а каждое Movie свойство класса будет сопоставляться со столбцом в таблице.

В том же файле добавьте следующий MovieDBContext класс:

public class MovieDBContext : DbContext 
{
    public DbSet<Movie> Movies { get; set; } 
}

Класс MovieDBContext представляет контекст базы данных фильмов Entity Framework, который обрабатывает получение, хранение и обновление Movie экземпляров класса в базе данных. Является MovieDBContext производным DbContext от базового класса, предоставленного Entity Framework. Дополнительные сведения о DbContext и DbSetсм. в разделе Улучшения производительности для Entity Framework.

Чтобы иметь возможность ссылаться на DbContext и DbSet, необходимо добавить следующую using инструкцию в начало файла:

using System.Data.Entity;

Ниже показан полный файл Movie.cs .

using System;
using System.Data.Entity;

namespace MvcMovie.Models  
{
    public class Movie
    {        
        public int ID { get; set; }
        public string Title { get; set; }        
        public DateTime ReleaseDate { get; set; }        
        public string Genre { get; set; }
        public decimal Price { get; set; }    
    }

    public class MovieDBContext : DbContext 
    {
        public DbSet<Movie> Movies { get; set; } 
    }
}

Создание строки подключения и работа с SQL Server Compact

Созданный MovieDBContext класс обрабатывает задачу подключения к базе данных и сопоставления Movie объектов с записями базы данных. Один из вопросов, которые вы можете задать, заключается в том, как указать, к какой базе данных она будет подключаться. Это можно сделать, добавив сведения о подключении в файлWeb.config приложения.

Откройте корневой файлWeb.config приложения. (Не файлWeb.config в папке Views .) На рисунке ниже показаны оба файлаWeb.config ; откройте файлWeb.config , обведенный красным цветом.

Снимок экрана: окно Обозреватель решений. Конфигурация веб-точки обведена красным цветом.

Добавьте следующую строку подключения к элементу <connectionStrings> в файлеWeb.config .

<add name="MovieDBContext" 
         connectionString="Data Source=|DataDirectory|Movies.sdf" 
         providerName="System.Data.SqlServerCe.4.0"/>

В следующем примере показана часть файла Web.config с добавленной новой строкой подключения:

<configuration>
  <connectionStrings>
    <add name="MovieDBContext" 
         connectionString="Data Source=|DataDirectory|Movies.sdf" 
         providerName="System.Data.SqlServerCe.4.0"/>
    <add name="ApplicationServices"
         connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true"
         providerName="System.Data.SqlClient" />
  </connectionStrings>

Этот небольшой объем кода и XML —это все, что необходимо написать для представления и хранения данных фильмов в базе данных.

Далее вы создадите новый MoviesController класс, который можно использовать для отображения данных о фильмах и разрешения пользователям создавать новые списки фильмов.