«OrderVm» не содержит определения для «идентификатора»

#c# #.net

Вопрос:

Я получаю «класс не содержит определения свойства». Потратив свое время на поиск решения, я все еще не знаю, как его решить. Хотя я объявляю в ViewModel, он все равно получает ошибку, что «OrderVm» не содержит определения для «Id». Я немного расстроен этой ошибкой.

OrderRepository.cs

 public async Tasklt;IEnumerablelt;OrderVmgt;gt; GetAddressShipping(string userId)  {  var listOrder = await _dbContext.Orderings  .Where(x =gt; x.UserId.Equals(userId))  .AsNoTracking()  .ToListAsync();   var listVm = listOrder.Select(x =gt; new OrderVm  {  Id = x.Id, // this line causes the bug  ClientName = x.Name,  Address = x.Address,  Phone = x.Phone,  CreatedAt = x.CreatedAt,  }).ToList();   return listVm;  }  

OrderVm.cs

 using System; namespace RookieEShop.Shared {  public class OrderVm  {  public string ClientName { get; set; }   public int Phone { get; set; }   public string Address { get; set; }   public string UserId { get; set; }   public DateTime CreatedAt { get; set; }   public int Id { get; set; } // The Id property has been declared  } }  

После запуска файла я получаю сообщение об ошибке ниже:

OrderRepository.cs: ошибка CS0117: «OrderVm» не содержит определения для «Id»

Спасибо за ваше чтение. Надеюсь, я получу решение от вас, ребята.

Обновлено: В viewmodel у меня есть только один класс OrderVm. Класс all viewmodel в моем проекте

Комментарии:

1. Исходя из дедукции, вполне вероятно, что у вас есть несколько OrderVm лежащих вокруг. Быстрое решение может быть new RookieEShop.Shared.OrderVm . Однако кто знает, в каком состоянии находятся ваши проекты

2. @TheGeneral Спасибо за ваш ответ. На самом деле, в моей модели представления у меня есть только класс OrderVm.

3. Найдите все решение для OrderVm … если есть только один, то ваша сборка и исходный код могут быть несинхронизированы. Попробуйте почистить и перестроить.

4. @TheGeneral Спасибо за ваше решение. Я попробовал ваше решение, добавив новобранца. Общий. Упорядочить в выбранном. К сожалению, он по-прежнему получает «OrderVm», не содержащий определения ошибки «Id». Это так расстраивает :(.

5. ПРИВЕТ @TheGeneral, я знаю причину, по которой моя программа получает вышеуказанную ошибку. Спасибо, ребята, что помогли мне найти решение.

Ответ №1:

Потратив свое время на выяснение причины моей ошибки, я официально нашел ответ на свою ошибку. В прошлом я снял флажок «Сборка» в проекте «Новобранец».Общий доступ» на страницах свойств решения (Решение-gt;Свойства-gt;gt;Свойства конфигурацииgt;gt;). В результате система не смогла скомпилировать новую переменную в файле, и это вызвало ошибку, которую вы видите в моем вопросе. Когда я понял причину, я выбрал столбец «Сборка» на страницах свойств решения (вы можете видеть рисунок ниже), мой проект работал правильно, как я и ожидал.

Для тех, кто все еще получает мою ошибку, хотя вы следовали моему решению, пожалуйста, проверьте, объявлена ли ваша переменная с ключевым словом public или нет. Если нет, измените свою переменную на общедоступную. Это работает правильно. Страницы свойств решения

Обновление: Поскольку моей репутации недостаточно, чтобы добавить изображение в мой ответ, вы, ребята, можете перейти по ссылке. Извините за неудобства.