Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / инициализация Dictionary из БД / 21 сообщений из 21, страница 1 из 1
13.09.2019, 09:26
    #39861295
RegisteredUser
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
инициализация Dictionary из БД
Коллеги!
Подскажите как это сделать с помощью Dictionary.
В коде зашит Dictionary, который хранит зависимость цены от веса и размера.
int - это вес
string - это размер
float - это цена

Не спрашивайте почему так сделано, так вот нужно )))
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
        Dictionary<int, Dictionary<string, float>> PriceByWeightSize()
        {
            return new Dictionary<int, Dictionary<string, float>>()
            {
                { 0, new Dictionary<string, float>() { { "XS", 11 }} },
                { 1, new Dictionary<string, float>() { { "S", 22 }} },
                { 2, new Dictionary<string, float>() {{ "M", 33 }} },
                { 5, new Dictionary<string, float>() {{ "L", 44 }} },
                { 10, new Dictionary<string, float>() {{ "XL", 55 }} },
                { 15, new Dictionary<string, float>() {{ "XXL", 66 }} },
                { 30, new Dictionary<string, float>() {{ "XXXL", 77 }} }
            };
        }


сейчас надо эти данные брать из БД

Вопрос:
Можно как-то проинициализировать все эти три параметра из БД
...
Рейтинг: 0 / 0
13.09.2019, 10:26
    #39861346
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
инициализация Dictionary из БД
Можно.

А вопрос-то в чем?
...
Рейтинг: 0 / 0
13.09.2019, 10:56
    #39861374
RegisteredUser
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
инициализация Dictionary из БД
Shocker.ProМожно.

А вопрос-то в чем?

вот в том-то и вопрос - как проинициализировать дикшенери из бд

примерчик кода был бы в тему
...
Рейтинг: 0 / 0
13.09.2019, 11:21
    #39861390
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
инициализация Dictionary из БД
БД понятие растяжимое, поэтому совершенно непонятно, какой пример кода ты хочешь? Может ты не знаешь как подключиться к базе, может ты не знаешь про ToDictionary[Async], а может у тебя вообще пока нет БД и ты не смог построить архитектуру или выбрать ORM или вообще принцип доступа к ней, может у тебя там вообще NoSQL.... дальше гадать?
...
Рейтинг: 0 / 0
13.09.2019, 11:44
    #39861408
Дмитрий Мух
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
инициализация Dictionary из БД
RegisteredUser,

что за БД? как там лежат данные (схема)? чем, или каким запросом выбираются?
...
Рейтинг: 0 / 0
13.09.2019, 12:37
    #39861449
Roman Mejtes
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
инициализация Dictionary из БД
такой алгоритм мягко говоря д...мо.
потому, что при чтении каждой записи, вам надо будет проверять наличия элемента в справочнике, а затем еще раз проверять наличие элемента в подсправочнике, городить страшно неудобные конструкции и т.д.
Как вариант можно глянуть на IEnuemrable.Lookup, но лучше использовать EF или ему подобное, там всё уже реализовано
...
Рейтинг: 0 / 0
13.09.2019, 12:46
    #39861454
Дмитрий Мух
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
инициализация Dictionary из БД
Roman Mejtes,

можно и не проверять, если данные отсортированы должным образом
...
Рейтинг: 0 / 0
13.09.2019, 14:27
    #39861557
RegisteredUser
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
инициализация Dictionary из БД
Shocker.ProБД понятие растяжимое, поэтому совершенно непонятно, какой пример кода ты хочешь? Может ты не знаешь как подключиться к базе, может ты не знаешь про ToDictionary[Async], а может у тебя вообще пока нет БД и ты не смог построить архитектуру или выбрать ORM или вообще принцип доступа к ней, может у тебя там вообще NoSQL.... дальше гадать?
БД - SQL Server
Entity Framework
...
Рейтинг: 0 / 0
13.09.2019, 14:34
    #39861569
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
инициализация Dictionary из БД
Ну вот, уже ближе.
метод ToDictionaryAsync() тебе в руки
...
Рейтинг: 0 / 0
13.09.2019, 15:28
    #39861612
RegisteredUser
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
инициализация Dictionary из БД
Shocker.ProНу вот, уже ближе.
метод ToDictionaryAsync() тебе в руки

спасибо за хинт
...
Рейтинг: 0 / 0
16.09.2019, 21:15
    #39862519
L.Otujktd
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
инициализация Dictionary из БД
RegisteredUser,

Если без orm то я бы реализовал IDictionary и спрятал код получения данных внутрях реализации
...
Рейтинг: 0 / 0
16.09.2019, 21:17
    #39862520
L.Otujktd
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
инициализация Dictionary из БД
RegisteredUser,

{ 0, new Dictionary<string, float>() { { "XS", 11 }} } 0- это значение для группы
размеров, как я понимаю?
...
Рейтинг: 0 / 0
17.09.2019, 08:12
    #39862562
Дмитрий Мух
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
инициализация Dictionary из БД
L.OtujktdRegisteredUser,

Если без orm то я бы реализовал IDictionary и спрятал код получения данных внутрях реализации
Словарь, что самостоятельно выполняет запросы к определённой базе данных за ценами, весами и размерами?
И как бы вы назвали такой класс?
...
Рейтинг: 0 / 0
17.09.2019, 08:22
    #39862566
L.Otujktd
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
инициализация Dictionary из БД
[quot Дмитрий Мух]L.OtujktdRegisteredUser,

Если без orm то я бы реализовал IDictionary и спрятал код получения данных внутрях реализации
Словарь, что самостоятельно выполняет запросы к определённой базе данных за ценами, весами и размерами?
И как бы вы назвали такой класс?[/quot
А что ему мешает? Это смотря как реализовать
...
Рейтинг: 0 / 0
17.09.2019, 08:41
    #39862572
Дмитрий Мух
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
инициализация Dictionary из БД
L.OtujktdДмитрий МухL.OtujktdRegisteredUser,

Если без orm то я бы реализовал IDictionary и спрятал код получения данных внутрях реализации
Словарь, что самостоятельно выполняет запросы к определённой базе данных за ценами, весами и размерами?
И как бы вы назвали такой класс?
А что ему мешает? Это смотря как реализовать
Дак и как бы вы назвали такой класс?
...
Рейтинг: 0 / 0
17.09.2019, 08:45
    #39862573
Дмитрий Мух
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
инициализация Dictionary из БД
L.Otujktd,

и он бы у вас при вызове метода Add писал бы в базу, при Remove - удалял из неё?
...
Рейтинг: 0 / 0
17.09.2019, 10:47
    #39862635
Ролг Хупин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
инициализация Dictionary из БД
RegisteredUserShocker.ProНу вот, уже ближе.
метод ToDictionaryAsync() тебе в руки

спасибо за хинт

вау, донт мэншын
...
Рейтинг: 0 / 0
17.09.2019, 10:48
    #39862636
Ролг Хупин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
инициализация Dictionary из БД
RegisteredUserКоллеги!
Подскажите как это сделать с помощью Dictionary.
В коде зашит Dictionary, который хранит зависимость цены от веса и размера.
int - это вес
string - это размер
float - это цена

Не спрашивайте почему так сделано, так вот нужно )))
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
        Dictionary<int, Dictionary<string, float>> PriceByWeightSize()
        {
            return new Dictionary<int, Dictionary<string, float>>()
            {
                { 0, new Dictionary<string, float>() { { "XS", 11 }} },
                { 1, new Dictionary<string, float>() { { "S", 22 }} },
                { 2, new Dictionary<string, float>() {{ "M", 33 }} },
                { 5, new Dictionary<string, float>() {{ "L", 44 }} },
                { 10, new Dictionary<string, float>() {{ "XL", 55 }} },
                { 15, new Dictionary<string, float>() {{ "XXL", 66 }} },
                { 30, new Dictionary<string, float>() {{ "XXXL", 77 }} }
            };
        }


сейчас надо эти данные брать из БД

Вопрос:
Можно как-то проинициализировать все эти три параметра из БД


не спрашиваю зачем, видимо, так вот нужно, но нахрена там внутренний Dictionary?
...
Рейтинг: 0 / 0
17.09.2019, 19:51
    #39863058
L.Otujktd
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
инициализация Dictionary из БД
Дмитрий МухL.Otujktd,

и он бы у вас при вызове метода Add писал бы в базу, при Remove - удалял из неё?
IReadonlyDictionary в связке с lazy<t>. Про запись в бд разговора не идёт, насколько я понимаю из постановки задачи ;)
...
Рейтинг: 0 / 0
18.09.2019, 11:04
    #39863201
Дмитрий Мух
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
инициализация Dictionary из БД
L.Otujktd,

тогда какая-то нелепая реализация интерфейса IDictionary выйдет на мой взгляд :)
...
Рейтинг: 0 / 0
18.09.2019, 14:31
    #39863333
Roman Mejtes
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
инициализация Dictionary из БД
может просто тип с индексатором сделать :D
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / инициализация Dictionary из БД / 21 сообщений из 21, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]