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

Рик Андерсон

В этом руководстве описаны основы создания веб-приложения 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 с VB.NET исходным кодом. Скачайте версию VB.NET. Если вы предпочитаете C#, переключитесь на версию этого руководства на C# .

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

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

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

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

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

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

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

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

Public Class Movie 
        Public Property ID() As Integer 
        Public Property Title() As String 
        Public Property ReleaseDate() As Date 
        Public Property Genre() As String 
        Public Property Price() As Decimal 
End Class

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

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

Public Class MovieDBContext
    Inherits DbContext
    Public Property Movies() As DbSet(Of Movie)
End Class

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

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

Imports System.Data.Entity

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

Imports System.Data.Entity

Public Class Movie
        Public Property ID() As Integer
        Public Property Title() As String
        Public Property ReleaseDate() As Date
        Public Property Genre() As String
        Public Property Price() As Decimal
End Class

Public Class MovieDBContext
    Inherits DbContext
    Public Property Movies() As DbSet(Of Movie)
End Class

Создание строки подключения и работа с 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 класс, который можно использовать для отображения данных о фильмах и разрешения пользователям создавать новые списки фильмов.