Модели и база данни

Модели и база данни

Всички обекти в приложението обикновено са разделени в отделни модели. В зависимост от задачата и сложността на приложението могат да се разграничат различен брой модели. И така, в тестовото приложение от втора глава са използвани два модела - клас за книга и клас за закупуване на книга.

Моделите са прости класове и се намират в проекта в директорията Models. Моделите описват логиката на данните. Например модел, представляващ книга и нейната покупка:

Моделът не се състои непременно само от свойства, освен това може да има конструктор, някои спомагателни методи. Но най-важното е да не претоварвате класа на модела и да помните, че неговата цел е да описва данни. Манипулирането на данни и бизнес логиката е по-скоро сферата на администратора.

Данните за модела се съхраняват в база данни. За взаимодействие с базата данни е много удобно да използватеEntity Framework. Entity Framework поддържа подход „първо код“, който включва съхраняване или извличане на информация от база данни в SQL Server без създаване на схема на база данни или използване на дизайнера във Visual Studio. Напротив, ние създаваме обикновени класове, а самата Entity Framework определя как и къде да съхраняваме обекти от тези класове.

Изданието на ASP.NET MVC 4 вече включва Entity Framework 5.0, но в проекти от тип Empty ще трябва да включите рамката чрез мениджъра на пакети NuGet.

За да се свържем с базата данни чрез Entity Framework, имаме нужда отконтекст на данни. Контекстът на данните е клас, който произлиза от класа DbContext. Контекстът на данните съдържа едно или повече свойства от тип DbSet, където T представлява типа на обекта, съхраняван в базата данни. Да кажем, че създаваме контекст на данни за работа с горните модели на книги иПокупка:

Чрез свойствата Books и Purchases получаваме достъп до данните на съответните модели, които се съхраняват в базата данни.