Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Использование БД в asp.net mvc






Добавим строку доступа к БД в web.Config:

< connectionStrings>

< add name=" ConnectionString" connectionString=" Data Source=SATURN-PC; Initial Catalog=LessonProject; Integrated Security=True; Pooling=False" providerName=" System.Data.SqlClient" />

< /connectionStrings>

Проинициализируем работу с БД в Ninject:

private static void RegisterServices(IKernel kernel)

{

kernel.Bind< LessonProjectDbDataContext> ().ToMethod(c => new LessonProjectDbDataContext(ConfigurationManager.ConnectionStrings[" ConnectionString" ].ConnectionString));

kernel.Bind< IRepository> ().To< SqlRepository> ().InRequestScope();

}

Применяем InRequestScope(). Т.е. каждый запрос будет использовать отдельный объект SqlRepository. Это позволит избежать коллизий при исполнении.Объявляем IRepository в контроллере:

public class HomeController: Controller

{

[Inject]

public IRepository Repository { get; set; }

 

public ActionResult Index()

{

var roles = Repository.Roles.ToList();

return View(roles);

}

}

И обновляем View:

@model IList< LessonProject.Model.Role>

@{

ViewBag.Title = " LessonProject";

Layout = " ~/Views/Shared/_Layout.cshtml";

}

 

< h2> LessonProject< /h2>

 

< p>

@foreach (var role in Model)

{

< div class=" item" >

< span class=" id" >

@role.ID

< /span>

< span class=" name" >

@role.Name

< /span>

< span class=" Code" >

@role.Code

< /span>

< /div>

}

< /p>

 

Получаем хороший результат:

 







© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.