Организовать различные наборы результатов в структуре так, чтобы к ней можно было обращаться по Id, и возвращался словарь со всеми реквизитами, связанными с этим Id - PullRequest
0 голосов
/ 29 января 2019

Я создаю приложение, которое на основе идентификатора сотрудника будет извлекать данные из разных таблиц, а затем сохранять каждое свойство в словаре следующей структуры:

 Dictionary<[column_name],[column_value]>

После того, как все свойства для этогосотрудник находится в словаре, я буду искать все вхождения его ключей в шаблоне слова и заменять их их значениями.

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

If @KeyName  = '[Name]' 
BEGIN
     -- read data from name_view
END
Else If @KeyName  = '[Stock]'
BEGIN
    -- read data from stock_view
END
Else If @KeyName  = '[Rating]'
BEGIN
    -- read data from rating_view
END

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

По этой причине я подумываю передать коллекцию идентификаторов.к процедуре магазина, так что я могу запросить конкретное представление только один раз для всех сотрудников.Проблема в том, что теперь данные будут иметь такую ​​форму:

enter image description here

Существует ли какая-либо структура данных, тип сбора, основанный на идентификаторесотрудник, скажем, 7, поможет мне легко и быстро получить все его свойства в словаре, например:

"name": "Mountain Walkers"

"stock": "12"

"рейтинг": "4"

1 Ответ

0 голосов
/ 01 февраля 2019

Вы когда-нибудь пытались использовать Dapper ?Вы можете взглянуть на следующие ресурсы:

Dapper - Результат Multi-Mapping

.NET Fiddle - Запрос Multi-Mapping (один ко многим)Проекты ZZZ

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...