1 / 1 / 0
Регистрация: 18.10.2013
Сообщений: 80
1

Требуется миграция БД, после добавления атрибутов и столбцов в класс модели предметной области

21.11.2017, 14:59. Показов 691. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет. Создаю проект на примере из сайта professorweb. Я столкнулся с такой проблемой, что после добавления в класс модели столбцов для БД с атрибутами (или же отдельно) выводит следующую ошибку представленную на скриншоте. Но до этого я добавил в саму БД столбцы для изображений, и запускалось без проблем.

Имеется код до появления ошибки:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Web.Mvc;
using System.ComponentModel.DataAnnotations;
 
namespace ClothingStore.Domain.Entities
{
    public class Clothing
    {
        [HiddenInput(DisplayValue = false)]
        public int ClothingId { get; set; }
        [Display(Name = "Тип")]
        public string Type { get; set; }
        [Display(Name = "Бренд")]
        public string Brand { get; set; }
        [DataType(DataType.MultilineText)]
        [Display(Name = "Описание")]
        public string Description { get; set; }
        [Display(Name = "Категория")]
        public string Category { get; set; }
        [Display(Name = "Цена (руб)")]
        public decimal Price { get; set; }
    }
}
И после внесения изменений:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Web.Mvc;
using System.ComponentModel.DataAnnotations;
 
namespace ClothingStore.Domain.Entities
{
    public class Clothing
    {
        [HiddenInput(DisplayValue = false)]
        public int ClothingId { get; set; }
        [Display(Name = "Тип")]
        [Required(ErrorMessage = "Пожалуйста, введите тип для товара")]
        public string Type { get; set; }
        [Display(Name = "Бренд")]
        [Required(ErrorMessage = "Пожалуйста, введите бренд для товара")]
        public string Brand { get; set; }
        [DataType(DataType.MultilineText)]
        [Display(Name = "Описание")]
        [Required(ErrorMessage = "Пожалуйста, введите описание для товара")]
        public string Description { get; set; }
        [Display(Name = "Категория")]
        [Required(ErrorMessage = "Пожалуйста, укажите категорию для товара")]
        public string Category { get; set; }
        [Display(Name = "Цена (руб)")]
        [Required]
        [Range(0.01, double.MaxValue, ErrorMessage = "Пожалуйста, введите положительное значение для цены")]
        public decimal Price { get; set; }
        public byte[] ImageData { get; set; }
        public string ImageMimeType { get; set; }
    }
}

И код контроллера со скриншота:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using ClothingStore.Domain.Abstract;
using ClothingStore.Domain.Entities;
using ClothingStore.WebUI.Models;
 
namespace ClothingStore.WebUI.Controllers
{
    public class ClothingController : Controller
    {
        private IClothingRepository repository;
        public int pageSize = 4;
        public ClothingController(IClothingRepository repo)
        {
            repository = repo;
        }
        public ViewResult List(string category, int page = 1)
        {
            ClothesListViewModel model = new ClothesListViewModel
            {
                Clothes = repository.Clothes
                    .Where(p => category == null || p.Category == category)
                    .OrderBy(clothe => clothe.ClothingId)
                    .Skip((page - 1) * pageSize)
                    .Take(pageSize),
                PagingInfo = new PagingInfo
                {
                    CurrentPage = page,
                    ItemsPerPage = pageSize,
                    TotalItems = category == null ?
                    repository.Clothes.Count() :
                    repository.Clothes.Where(clothe => clothe.Category == category).Count()
                },
                CurrentCategory = category
            };
            return View(model);
        }
    }
}
Я икал решения проблемы, но в моем случаи не вышло исправить данную ситуацию.
Миниатюры
Требуется миграция БД, после добавления атрибутов и столбцов в класс модели предметной области  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.11.2017, 14:59
Ответы с готовыми решениями:

Построить концептуальную и логическую модели предметной области:
Посмотрите, пожалуйста, правильно ли я построил концептуальную(без атрибутов) и логические модели?...

Отображение логической модели предметной области в структуру базы данных
Отображение логической модели предметной области в структуру базы данных. Как ответить на такой...

Описать класс по предметной области «Супермаркет».
Описать класс по предметной области «Супермаркет». Создать метод класса, который определяет...

База данных по предметной области «Спортивные сооружения области»
Добрый день. Возникла проблема составления базы по предметной области.Сделал почти все связи,а...

2
648 / 582 / 171
Регистрация: 17.07.2012
Сообщений: 1,651
Записей в блоге: 1
21.11.2017, 16:08 2
freed7, ну, если я правильно понимаю вашу проблему, то вам нужно:
Либо включить автоматическую миграцию AutomaticMigrationsEnabled = true;, либо ручками добавить миграцию в консоле: Add-Migration <Name> и обновить базу в консоле с помощью Update-Database
1
1 / 1 / 0
Регистрация: 18.10.2013
Сообщений: 80
21.11.2017, 19:59  [ТС] 3
Цитата Сообщение от Cupko Посмотреть сообщение
Либо включить автоматическую миграцию AutomaticMigrationsEnabled = true;, либо ручками добавить миграцию в консоле: Add-Migration <Name> и обновить базу в консоле с помощью Update-Database
Ваш ответ помог мне найти такую хорошую команду как "Enable-Migrations", после которой все заработало!
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.11.2017, 19:59
Помогаю со студенческими работами здесь

Entity диаграмма: После добавления модели приложение зависает
ни кто не сталкивался с такой проблемой , пытаюсь добавить модель но после добавления приложения...

Имеется класс TAddList, унаследованный от stl-класса списка. Требуется написать метод добавления
Здравствуйте уважаемые специалисты. Помогите пожалуйста с решением задачи. Задача : &quot;Имеется...

Автоматизация для добавления товаров, чтобы после заполнения марки, модели остальное описание парсилось с другого сайта
Карточка товара состоит из марки, модели, описания, картинок, тайтла, дескриптора и разных...

EntityFrameWork - миграция для добавления колонки?
Как написать миграцию для добавления колонки? namespace WebApiServer.Migrations { using...

Laravel 5.4: создание модели и миграция
Изучаю Laravel, тренируюсь на default модели. Создаю модель Post: php artisan make:model Post...

Описание предметной области
Описание предметной области касса-1 задача супермаркет-2 задача спортсмен-3 задача Примерно так...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru