Как я могу использовать AutoMapper для сопоставления внешних ключей? - PullRequest
0 голосов
/ 01 апреля 2020

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

  • VW_Product: получает данные из представления VW_Product
  • Product: И модель продукта Получает данные Product Таблица

Как я пытался показать в примере ниже, разница между данными в VW_Product и Product заключается в том, что в VW_Product вместо отображения столбцов идентификаторов я отображаю описания внешних ключей.

Примечание: таблица Product хранит внешние ключи в таблице Reference, в которой хранятся описания.

Вот как столбцы выглядят как

Product                  VW_Product
---------------          -------------------
ProjectStatusID          ProductStatusCode
ProjectStatusID          ProductCategoryCode

У меня есть служба:

Task<IList<VW_ProductDTO>> GetProducts();
Task<ProductDTO> GetProductsbyId(int id);

У меня есть отображение как:

 CreateMap<Product, ProductDTO>();       
 CreateMap<VW_Product, VW_ProductDTO>();
 CreateMap<ProductDTO, Product>().

Так что мой вопрос, есть ли в любом случае сопоставить эти две модели? Так что я не вижу этого

Произошло необработанное исключение при обработке запроса.
InvalidOperationException: элемент модели, переданный в ViewDataDictionary, имеет тип «ProductDTO», но этот экземпляр ViewDataDictionary требует модельный элемент типа 'VW_ProductDTO'.

Есть рекомендации?

...