ASP.NET MVC Framework | страница 24




Листинг 2.12. Таблица маршрутизации в файле Global.asax

>public static void RegisterRoutes(RouteCollection routes)

>{

>  routes.IgnoreRoute("{resource}.axd/{*pathInfo}") ;

>  routes.IgnoreRoute("{resource}.aspx/{*pathInfo}");

>  routes.MapRoute("Default", "{controller}/{action}/{id}",

>    new { controller = "Home", action = "Index", id = "" });

>}


>protected void Application_Start()

>{

>  RegisterRoutes(RouteTable.Routes);

>}


Рис. 2.5. Структура WebForms-приложения после добавления MVC-компонентов


После того как все необходимые шаги выполнены, можно продолжать пользоваться WebForms-приложением, а также использовать только что добавленные контроллер и представление, например, создав контроллер >Home (листинг 2.13) и представление >Index (листинг 2.14), можно получить при обращении по пути /Home/Index результат, представленный на рис. 2.6.


Листинг 2.13. Файл HomeController.cs

>using System.Web.Mvc;

>namespace WebFormsMvcInterop.Controllers {

>  public class HomeController : Controller {

>    public ActionResult Index()

>    {

>      return View();

>    }

>  }

>}


Листинг 2.14. Файл Index.aspx

><%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage" %>


>

>EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

>

>

>

>

>Hello from MVC

>

>


Заключение

В этой главе мы рассмотрели достоинства и недостатки MVC Framework в сравнении с WebForms, а также возможности совместного использования этих технологий в рамках одного проекта. Пожалуй, нужно отметить, что не стоит смешивать эти технологии без необходимости, поскольку при совмещении WebForms и MVC Framework вы получаете все их недостатки, не всегда имея возможность полностью реализовать достоинства.

Этой главой мы заканчиваем несколько растянувшееся введение, и, начиная со следующей главы, вы сможете глубоко окунуться в технические детали использования MVC Framework.

ГЛАВА 3

Модель и доступ к данным

Согласно паттерну проектирования MVC основное назначение модели — это определение объекта приложения, представлением которого является вид (View). Модель и вид отделены друг от друга и взаимодействуют только в виде оповещений: изменившись, модель оповещает вид, который, согласно новым данным, изменяет свое состояние. Со своей стороны, вид обращается к модели для получения актуальных данных для отображения.

Структура этой главы построена так, что мы начнем рассмотрение построения доступа к данным с обзора механизма Object Relation Mapping, его истории, развития и того, какие механизмы ORM присутствуют в .NET. Мы рассмотрим технологию LINQ, LINQ для SQL, Entity Framework. После этого на простом примере разберем принцип организации эффективного доступа к данным в проектах ASP.NET MVC. В конце главы вас ждет раздел, в котором описаны наиболее популярные механизмы доступа к данным.