Лабораторная работа №8 Создание хранилища данных 1. Откройте Microsoft Visual Studio 2010. a. В стартовом меню 10264A-GEN-DEV, выберите Все программы, щелкните Microsoft Visual Studio 2010. 2. Откройте MvcApplication1 solution из следующего расположения. Язык Путь Visual Basic D:\Demofiles\VB\MvcApplication1 Visual C# D:\Demofiles\CS\MvcApplication1 3. 4. 5. 6. a. На главное странице окна – Microsoft Visual Studio, в меню Файл , щелкните открыть проект или нажмите CTRL+SHIFT+O. b. bВ диалоговом окне открытия проекта введите D:\Demofiles\CS\MvcApplication1\MvcApplication1.sln или D:\Demofiles\VB\ MvcApplication1\MvcApplication1.sln и нажмите Открыть . Добавьте новую ADO.NET Entity Data Model названную как MyModel.edmx к проекту, and сгенерируйте модель из базы данных. Модель должна быть добавлена в папку Models. a. в Solution Explorer, выберите правой кнопкой Models, выберите Добавить, затем щелкните Новый Элемент. b. В окне нового элемента, на левой панели щелкните Данные. c. В средней панели выберите ADO.NET Entity Data Model, в окне имени введите MyModel.edmx и нажмите Добавить. d. На странице «Выберите Объекты БД», в списке «Какие объекты БД вы хотите включить в модель» откройте Таблицы, выберите таблицы Blog and Blogger, и нажмите Готово. В модели Entity Data Wizard, на странице Выбор модели Содержание, нажмите кнопку Создать из базы данных, а затем нажмите кнопку Далее. a. В диалоговом окна Выбери источник данных, в списке источников данных нажмите кнопку Microsoft SQL Server, а затем нажмите кнопку OK. b. В диалоговом окне Свойства соединения в поле Имя сервера напишите \ SQLExpress, в списке БД введите имя базы данных AdventureWorksLT2008R2, а затем нажмите кнопку Далее. В модели Entity Data Wizard, на странице Выбор соединения, в списке «Какое подключение ваше приложение должно использовать для подключения к базе данных?» щелкните 10264a-gendev\sqlexpress.AdventureWorksLT2008R2.Sales(LT), затем нажмите Далее. Выберите таблицы Блог и Блоггер. a. На странице Выбор объектов базы данных страницы, в списке «какие объектыв базы данных вы хотите включить в список моделей», разверните узел Таблицы, выберите Блог и Блоггер, а затем нажмите кнопку Готово. 7. Добавьте новый класс хранилища названный BlogRepository в папку Models. a. в Solution Explorer, выберите правой кнопкой Models, выберите Добавить, затем щелкните Новый Элемент. b. В окне нового элемента, на левой панели щелкните VB или Visual C#. c. В средней панели щелкните Класс, в поле имени введите BlogRepository и нажмите Добавить. 8. Добавьте код, как показано ниже, в класс BlogRepository. [Visual C#] private AdventureWorksLT2008R2Entities db = new AdventureWorksLT2008R2Entities(); public IQueryable<MvcApplication1.Models.Blog> GetAllBlogs() { return db.Blogs; } [Visual Basic] Private db As New AdventureWorksLT2008R2Entities() Public Function GetAllBlogs() As IQueryable(Of MvcApplication1.Blog) Return db.Blogs End Function В окне BlogRepository.cs или введите следующий код. BlogRepository.vb, вверху класса BlogRepository, [Visual C#] private AdventureWorksLT2008R2Entities db = new AdventureWorksLT2008R2Entities(); public IQueryable<MvcApplication1.Models.Blog> GetAllBlogs() { return db.Blogs; } [Visual Basic] Private AdventureWorksLT2008R2Entities db As New AdventureWorksLT2008R2Entities() Public Function GetAllBlogs() As IQueryable(Of MvcApplication1.Blog) Return db.Blogs End Function 9. Добавьте метод Save в класс BlogRepository, ответственный за сохранение данных в БД. [Visual C#] public static void Save(MvcApplication1.Models.Blog blog) { using (var db = new AdventureWorksLT2008R2Entities ()) { if (blog.BloggerID == 0) { db.AddToBlogs(blog); db.SaveChanges(); } } } [Visual Basic] Public Shared Sub Save(ByVal blog As MvcApplication1.Blog) Using db As New AdventureWorksLT2008R2Entities() If blog.BloggerID = 0 Then db.AddToBlogs(blog) db.SaveChanges() End If End Using End Sub В окне BlogRepository.cs или BlogRepository.vb введите следующий код. [Visual C#] public static void Save(MvcApplication1.Models.Blog blog) { using (var db = new AdventureWorksLT2008R2Entities ()) { if (blog.BloggerID == 0) { db.AddToBlogs(blog); db.SaveChanges(); } } [Visual Basic] Public Shared Sub Save(ByVal blog As MvcApplication1.Blog) Using db As New AdventureWorksLT2008R2Entities() If blog.BloggerID = 0 Then db.AddToBlogs(blog) db.SaveChanges() End If End Using End Sub 10. Удалите класс Blog из папки Models. a. В Solution Explorer, в папке Models, правой кнопкой выберите Blog.cs или Blog.vb, затем нажмите Удалить. b. В диалоговом окне Microsoft Visual Studio нажмите ОК. 11. Постройте приложение и отладьте. a. В окне MvcApplication1 – Microsoft Visual Studio, в меню Построить, нажмите Построить решение или нажмите CTRL+SHIFT+B. 12. Закройте Visual Studio. a. В окне MvcApplication1 – Microsoft Visual Studio, щелкните кнопку Закрыть.