. NET Core MVC - Как заполнить свойства модели с помощью запроса - PullRequest
0 голосов
/ 19 июня 2020

Мне сложно понять, как можно заполнить модель MVC, используя что-то вроде запроса или оператора linq. Моя база данных структурирована так, что все свойства модели хранятся в таблице значений атрибутов. В таблице атрибутов хранятся все возможные атрибуты. Связывающая таблица присоединяет атрибут к объекту, имеющему этот атрибут, через отношения FK. Это сделано для того, чтобы данные, которые я храню, можно было легко расширять без изменения структуры базы данных путем добавления новых столбцов и таблиц по мере сбора дополнительных данных.

Проблема, с которой я столкнулся, заключается в том, что я не могу понять, как заполнить модель значениями, хранящимися в моей таблице значений атрибутов для данной модели. Например, скажем, у меня есть модель автомобиля с атрибутами Make (attributeId 1), Model (attributeId2) и Year (attributeId: 3), хранящимися в таблице атрибутов. В таблице AttributeValue хранятся значения (в столбцах, как и в обычной таблице, имя первого столбца - AttributeId, имя второго столбца - AttributeValue. Я использую двоеточие для их разделения в примере) AttributeId 1: Toyota, AttributeId 2: Camry, AttributeId 3: 2020.

Как я могу создать привязку модели или что-то подобное для заполнения моей модели автомобиля, выполнив что-то вроде: Car.Make = SELECT Value FROM AttributeValue WHERE AttributeId = 1; Car.Model = SELECT Value FROM AttributeValue WHERE AttributeId = 2, et c

Я новичок в MVC, так что простите меня, если мне не хватает чего-то простого.

Спасибо!

1 Ответ

0 голосов
/ 19 июня 2020

Если я правильно понял ваш вопрос, я считаю, что вам нужно применить Auto Mapper. Перейдите по следующей ссылке.

Справочник по автоматическому сопоставлению

А для части запроса вы можете добиться этого с помощью LINQ.

Оператор Select с использованием LINQ в C#

...