5 - MVC 3 con Razor ~ Directiva @model con Base de datos

by Moisés Rivas 20. February 2011 14:48

Hola gente, hoy vamos a hablar de la directiva @model, con algo de base de datos.

La directiva @model ofrece una forma más clara de referenciar modelos fuertemente tipados en una vista.  Para ver como funciona primero vamos a trabajar en un ejemplo creando una tabla en nuestra DB y despues configurando modelo que utilice esa tabla.

Pero mejor un ejemplo para que veamos esto.

Vamos  agarrar el proyecto anterior con la base de datos configurada, y vamos a crear una tabla nueva que se va a llamar UsersDB.
image

Agregamos un modelo a nuestra proyecto donde utilizaremos la tabla creada. Para hacer esto nos vamos a la carpeta modelo y hacemos clic en el boton derecho y agregar – nuevo elemento.
image


Elegimos una clase de Linq de SQL.
image

En primer plano nos va aparecer un documento en blanco done tendremos que agregar nuestra tabla.
image


Para ello hacemos clic en Explorador de Servidores se nos abre la base de datos y arrastramos nuestra tabla al centro del espacio en blanco, este proceso configura automáticamente la tabla con nuestro modelo.
image


Agregamos un nuevo controlador, haciendo botón derecho en la carpeta Controllers y Agregar Controlador.
image


Para utilizar nuestro modelo tenemos que hacer como en el 2º POST, para eso insertamos el siguiente código.

using MVC3Razor.Models;

namespace MVC3Razor.Controllers
{
public class DatosUserDBController : Controller
{
DataDBModeloDataContext usuariosDB = new DataDBModeloDataContext();

public ActionResult UsuariosListDB()
{
var us = from f in usuariosDB.UsersDB orderby f.idUser ascending select f;
return View(us);
}

}
}
Bien ahora agregamos una nueva vista, pero para hacerlo más ordenado vamos a crear una nueva carpeta DatosUserDB y ahi agregaremos nuestra vista.
image

Ahora le indicamos que vamos a crear una vista fuertemente tipada y seleccionamos el modelo de la tabla que hemos configurado, de seguro notaran que salen otros modelos más, son de los modelos que ya estamos utilizando, también le indicamos que vamos usarla para mostrar una Lista de esta tabla.
image


Esto nos genera un código de ejemplo donde ya lo podemos ejecutar.
image

. Pero nosotros vamos a insertar mejor un enlace en nuestro menú a esta nueva vista, para ello vamos a nuestra template activa y agregamos la siguiente línea.

<li>@Html.ActionLink("Lista de Usuarios de DB", "UsuariosListDB", "DatosUserDB")</li>
image


Ahora si ya podemos ejecutar nuestro proyecto.

image

Bien ahora vamos a ver como entra en juego nuestro @model, si pueden observar veran que en la vista que creamos esta la directiva @model al principio, esta directiva es un reemplazo de utilizar @inherits, abajo un ejemplo.


@model IEnumerable<MVC3Razor.Models.UsersDB>

@inherits System.Web.Mvc.WebViewPage<IEnumerable<MVC3Razor.Models.UsersDB>>

  
De esta forma no tendremos que indicar nunca más el @inherits para indicar la clase base, por defecto si no esta esta directiva nuestra base deriva de System.Web.Mvc.ViewPage<TModel>

Ahora les dejo a ustedes que agreguen las vistas de Edición, detalles y eliminación de esta tabla.

En resumen hoy hemos aprendido a:
Agregar una tabla una base de datos.
Agregar un modelo de Linq de SQL.
Agregar una tabla al modelo.
Utilizar nuestro modelo.
Referenciar con @model


Recomendaciones:
WebMatrix Parte 3 – Demos un poco de estilo
WebMatrix Parte 4 – Utilizando Layout
WebMatrix Parte 5 – utilizando datos

Bueno gente hasta aquí hacemos hoy, para la próxima vamos a ver como un poco de como se trabaja con JQuery, Facebook y Twitter en MVC 3.

Para cualquier consulta pueden dejar sus mensajes aquí o mandar me un correo electrónico a Moises.Rivas@msptechrep.com.

Tags:

MVC | web

Comments

2/21/2011 11:55:49 AM #

pingback

Pingback from topsy.com

Twitter Trackbacks for
        
        cells .Puerta de Enlace .net | 5 - MVC 3 con Razor ~ Directiva @model con Base de datos
        [puertadeenlace.net]
        on Topsy.com

topsy.com |

Comments are closed

Concurso CodeCamp

Conocé mas acerca del mayor evento de la
Comunidad Microsoft en Argentina.

WWW.CODECAMP.COM.AR

------------------------------------------------

Para los que están Participando:

-Que es una célula?

-Como puedo promocionar mi proyecto?

-Dreamspark

Administradores:

Armando Meabe.
Guillermo Bellmann.
Miguel Saez.
Nicolás Vilela.
Ivana Tilca.

Esperamos que disfrutes de este sitio, lo hicimos dando nuestro mayor esfuerzo.

Nunca te olvides:
El límite es tu imaginación.

Especialistas Microsoft

Daniel Levi (IT Pro´s)

Daniel Priego (Expression Studio)

Debora Di Piano (Team Fundation Server)

 


Channel 9 - Visual Studio 2010 and .NET Framework 4 Training Course

Includes videos and hands-on-labs designed to help you learn how to utilize the Visual Studio 2010 features and a variety of framework technologies including: C# 4.0, Visual Basic 10, F#, Parallel Computing Platform, WCF, WF, WPF, ASP.NET AJAX 4.0, ASP.NET MVC Dynamic Data
Watch it online now ›

The Code Project – Tech Summit

Join us at The Code Project Tech Summit to experience the Microsoft Visual Studio 2010 launch alongside the Visual Studio team. At this virtual event you can explore, network, and learn from the experts on the latest and greatest version of Microsoft Visual Studio.
Watch it online now ›