Форум программистов, компьютерный форум, киберфорум
C#: ASP.NET MVC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
Unnamed
 Аватар для kingzfate
160 / 158 / 81
Регистрация: 09.06.2011
Сообщений: 852

Ошибка маппера типов из Model во ViewModel(Error mapping types)

30.07.2018, 12:16. Показов 2287. Ответов 1

Студворк — интернет-сервис помощи студентам
Модель
Кликните здесь для просмотра всего текста

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
        public decimal Id { get; set; }
        public int CompanyId { get; set; }
        [ForeignKey("CompanyId")]
        public virtual Company Company { get; set; }
        public int? HousesId { get; set; }
        [ForeignKey("HousesId")]
        public virtual House House { get; set; }
        public int ServiceId { get; set; }
        [ForeignKey("ServiceId")]
        public virtual Service Service { get; set; }
        public string Number { get; set; }
        public DateTime? BeginDate { get; set; }
        public DateTime? EndDate { get; set; }
        public DateTime? PovDate { get; set; }
        public virtual List<CountersData> CountersData { get; set; }
        public int? UnitMeterId { get; set; }
        public virtual ICollection<CountersDataCurrent> CountersDataCurrent { get; set; } // Интересует эта строка
        public Counter()
        {
            CountersDataCurrent = new List<CountersDataCurrent>();
        }
        [ForeignKey("UnitMeterId")]
        public virtual UnitMeter UnitMeter { get; set; }

ViewModel
Кликните здесь для просмотра всего текста
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
        public decimal Id { get; set; }
        public int CompanyId { get; set; }
        public CompanyViewModel Company { get; set; }
        public int? HousesId { get; set; }
        public HouseViewModel House { get; set; }
        public int ServiceId { get; set; }
        public ServiceViewModel Service { get; set; }
        public string Number { get; set; }
        public DateTime? BeginDate { get; set; }
        public DateTime? EndDate { get; set; }
        public DateTime? PovDate { get; set; }
        public List<CountersDataViewModel> CountersData { get; set; }
        public ICollection<CountersDataCurrentViewModel> CountersDataCurrent { get; set; }
        public int? UnitMeterId { get; set; }
        public UnitMeterViewModel UnitMeter { get; set; }

Получаю данные с Бд вот так
C#
1
2
3
4
5
return ctx.Counter.Where(c => c.CompanyId == companyId &&
                                         c.House.TerritoryId == territoryFirst &&
                                         c.House.VillageId == villageFirst &&
                                         c.House.StreetId == streetFirst)
                                         .Include(p=>p.CountersDataCurrent).ToList();
Передаю данные в контроллер и пытаюсь смапить, падает такая ошибка
C#
1
2
3
4
5
Error mapping types.
 
Mapping types:
List`1 -> List`1
System.Collections.Generic.List`1[[Domain.Entities.Counter, Domain, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]] -> System.Collections.Generic.List`1[[WebUI.Areas.Company.Models.CounterViewModel, WebUI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]
Подскажите пожалуйста, как это можно исправить?

Добавлено через 54 минуты
Может кому поможет... Ошибка была в этой штуке
C#
1
2
cfg.CreateMap<CountersDataCurrent, CountersDataCurrentViewModel>()
                    .ForMember(dest => dest.DateCurrent, opt => opt.MapFrom(src => src.DateCurrent.Value.ToShortDateString()));
а данные в бд были NULL
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
30.07.2018, 12:16
Ответы с готовыми решениями:

Ошибка несовпадения типов: Incopatible types
Помогите разобраться с ошибкой в делфи, несовпадение типов: Incopatible types slovo and TCaption. Я пытаюсь записать в список слова из...

Model или ViewModel?
Скажите пожалуйста если класс не используется в качестве DataContext-а ни в одном представлении, но во ViewModel-и есть коллекция объектов...

MVVM. Общение Model с ViewModel
Занимаюсь проектом WPF, первый раз пробую MVVM-паттерн. Успешно реализовал общение View и ViewModel (бинды, команды), но никак не могу...

1
187 / 100 / 19
Регистрация: 15.09.2011
Сообщений: 801
10.08.2018, 07:29
Мы бы ни за что не смогли бы помочь, не зная содержимого
CountersDataCurrent И CountersDataCurrentViewModel
Такие выверты с маппингом проверять надо так, чтобы отдельно тестировать сущность без листа.
Как то с List у меня было, что маппер не справился с слиянием одного листа с другим существующим(как я позже выяснил, он не мог соотнести одной сущности листа с другой не зная по какому ключу их объединять). Я хотел обновить один List и вставить в него данные другого List. Да, маппер не для этого предназначен, но результат был непредсказуемый и было потрачено много времени на форумах. В итоге пришлось делать проход в foreach по каждой сущности и делать маппинг Map<TА, TB>(A,B) а не Map<List<TA>, List<TA>>(A,B) - по каждому элементу.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.08.2018, 07:29
Помогаю со студенческими работами здесь

Уведомления ViewModel при изменении Model
Простейшая программка в аттаче. Вопрос: если свойство во VM завязано так: private DataModel DM; public string SomeText { get { return...

Как правильно изменять свойства Model из ViewModel?
Есть модель с 10 свойствами. Есть VM так же с 10 свойствами, дублирующими модель. Есть (некое) хранилище модели, откуда можно её получить...

Как правильно реализовать связь между коллекциями Model и ViewModel?
Приветствую, разбираюсь в паттерне MVVM, подскажите, как правильно реализовать связь между коллекциями Model и ViewModel Допустим, в...

MVVM. Получение данных объекта по сети - в model или во viewmodel?
Здравствуйте! Вникаю в паттерн mvvm, прочитал\посмотрел кучу учебных материалов, и если честно, в голове каша уже. Мне понравился своей...

Как передавать информацию из Model в ViewModel во время работы программы
Здравствуйте! Была у меня написана программка консольная для обработки файлов, ну и решил я ее переписать на WPF с учетом паттерна MVVM....


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru