Compartir a través de


Agregar un modelo (VB)

por Rick Anderson

Este tutorial le enseñará los conceptos básicos de la creación de una aplicación web ASP.NET MVC mediante Microsoft Visual Web Developer 2010 Express Service Pack 1, que es una versión gratuita de Microsoft Visual Studio. Antes de empezar, asegúrese de que ha instalado los requisitos previos que se enumeran a continuación. Para instalarlos todos, haga clic en el vínculo siguiente: Instalador de plataforma web. Como alternativa, puede instalar individualmente los requisitos previos mediante los vínculos siguientes:

Si usa Visual Studio 2010 en lugar de Visual Web Developer 2010, para instalar los requisitos previos haga clic en el vínculo siguiente: Requisitos previos de Visual Studio 2010.

Un proyecto de Visual Web Developer con código fuente de VB.NET está disponible para acompañar este tema. Descargue la versión de VB.NET. Si prefiere C#, cambie a la versión de C# de este tutorial.

Agregar un modelo

En esta sección, agregará algunas clases para administrar películas en una base de datos. Estas clases serán el elemento "modelo" de la aplicación ASP.NET MVC.

Usará una tecnología de acceso a datos de .NET Framework conocida como Entity Framework para definir y trabajar con estas clases de modelo. Entity Framework (a menudo denominado EF) admite un paradigma de desarrollo denominado Code First. Code First le permite crear objetos de modelo mediante la escritura de clases simples. (También se conocen como clases POCO, de "objetos CLR sin formato antiguos"). Después, puede crear la base de datos sobre la marcha desde las clases, lo que permite un flujo de trabajo de desarrollo muy limpio y rápido.

Adición de clases de modelo

En el Explorador de soluciones, haga clic con el botón derecho en la carpeta Models, seleccione Agregar y después Clase.

Screenshot that shows the Solution Explorer window. Add is selected in the Models right click menu and Class is selected in the sub menu.

Asigne el nombre "Movie" a la clase.

Agregue las cinco propiedades siguientes a la clase 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

Se usará la clase Movie para representar películas en una base de datos. Cada instancia de un objeto Movie se corresponderá con una fila dentro de una tabla de base de datos, y cada propiedad de la clase Movie se asignará a una columna de la tabla d base de datos.

En el mismo archivo, agregue la siguiente clase MovieDBContext:

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

La clase MovieDBContext representa el contexto de la base de datos de películas de Entity Framework, que controla la captura, el almacenamiento y la actualización de instancias de la clase Movie en una base de datos. MovieDBContext se deriva de la clase base DbContext proporcionada por Entity Framework. Para más información sobre DbContext y DbSet, vea Mejoras de productividad para Entity Framework.

Para poder hacer referencia a DbContext y DbSet, debe agregar la siguiente instrucción imports en la parte superior del archivo:

Imports System.Data.Entity

A continuación se muestra el archivo Movie.vb completo.

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

Creación de una cadena de conexión y trabajo con SQL Server Compact

La clase MovieDBContext que ha creado controla la tarea de conexión a la base de datos y la asignación de objetos Movie a los registros de la base de datos. Pero seguramente se pregunte cómo especificar a qué base de datos se conectará. Para ello, agregará información de conexión en el archivo Web.config de la aplicación.

Abra el archivo Web.config raíz de la aplicación. (No el archivo Web.config de la carpeta Views). En la imagen siguiente se muestran los dos archivos Web.config; abra el archivo Web.config con un círculo rojo.

Screenshot that shows the Solution Explorer window. Web dot config is circled in red.

Agregue la siguiente cadena de conexión al elemento <connectionStrings> del archivo Web.config.

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

En el ejemplo siguiente se muestra una parte del archivo Web.config con la nueva cadena de conexión agregada:

<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>

Esta pequeña cantidad de código y XML es todo lo que necesita para representar y almacenar los datos de película en una base de datos.

A continuación, creará una clase MoviesController que puede usar para mostrar los datos de películas y permitir a los usuarios creen descripciones de películas.