Agregar un modelo (VB)
por Rick Anderson
Este tutorial le enseñará los conceptos básicos para crear una aplicación web de 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:
- Requisitos previos de Visual Studio Web Developer Express SP1
- Actualización de herramientas de ASP.NET MVC 3
- SQL Server Compact 4.0(runtime + soporte de herramientas)
Si usa Visual Studio 2010 en lugar de Visual Web Developer 2010, instale los requisitos previos haciendo clic en el vínculo siguiente: Requisitos previos de Visual Studio 2010.
Un proyecto de Visual Web Developer con código fuente 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 Modelos, seleccione Agregar y después Clase.
Asigne a la clase el nombre Película.
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.
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.