|
-2 / 24 / 8
Регистрация: 19.02.2012
Сообщений: 446
|
||||||
Правила вывода связанных данных из базы17.11.2019, 16:55. Показов 1563. Ответов 4
Метки нет (Все метки)
Вопрос немного теоретического характера.
Пример. Имеем, две таблицы. Users и Purchases (Пользователи и покупки). Два класса для двух объектов(сущностей - поправьте, если ошибаюсь)
Вот тут у меня возникает спорный момент. С классом User всё корректно, мне нравится. Но в классе Purchase меня смущает свойство public int user_id, которое, как мне кажется синтаксически не к месту. Теперь, вопрос. Как грамотно расписать классы связанных данных? Как использовать навигационное свойство? Видел, что можно вместо public int user_id вписывать public User User. Но к месту ли это будет? Добавлено через 1 час 7 минут Добавлю. Из этих двух классов, логично формируется список покупок PurchaseList следующего вида: id, header, user.id, user.name, user.surname. То есть уже пять свойств появляется. Я их буду выводить в список на форму, используя какой класс? У меня нет класса с пятью свойствами. Как в этом случае быть? Создавать новый класс для вывода, что считаю не правильным. Добавлять к какому-то классу ещё свойства? То же считаю не корректным.
0
|
||||||
| 17.11.2019, 16:55 | |
|
Ответы с готовыми решениями:
4
WPF+ADO.NET+EF 6.0 Нужен пример вывода связанных данных из БД Правила заполненя связанных таблиц Сортировка данных вывода из базы данных |
|
Модератор
|
|
| 17.11.2019, 19:08 | |
|
imcavs™, на мой взгляд двух таблиц мало.
Должены быть таблицы: покупатели (пользователи) , товары и таблица покупок, связывающая пользователей и товары. В элементе последней таблицы нужны свойства: ид записи, дата, ид покупателя, ид товара, цена товара, количество товара. Также возможны ещё дополнительные свойства определяемые ТЗ: скидка, номер чека, примечание, отметка оплаты и т.п.
0
|
|
|
-2 / 24 / 8
Регистрация: 19.02.2012
Сообщений: 446
|
|
| 17.11.2019, 21:09 [ТС] | |
|
Элд Хасп, да, согласен. Тогда для этой третьей таблицы, нужно ли создавать класс?
0
|
|
|
Модератор
|
|
| 18.11.2019, 00:06 | |
Сообщение было отмечено imcavs™ как решение
Решение
imcavs™, в приложении бывает несколько уровней.
На уровне работы с БД можно не создавать отдельные классы. Можно использовать SQL Reader или DataTable. А вот в на уровне обмена данными между Model и ViewModel желательно создать какие-то типы. Например, по шаблону DTO. Это поможет абстрагироваться от способа хранения данных. Также на этом уровне желательно работать с Моделью через интерфейс. Это позволит в случае необходимости очень легко заменить Модель. Уровень View потребует уже других типов (тут уже необходим INPC) и другой структуры данных (допустим, для списков ObservableCollection). Они должны быть удобны для создания предоставления данных. То есть у вас в приложении будет четыре уровня. И на каждом из них возможно удобен будет разный подход к хранению, представлению данных.
0
|
|
|
14130 / 9350 / 1350
Регистрация: 21.01.2016
Сообщений: 35,148
|
|
| 18.11.2019, 04:26 | |
|
0
|
|
| 18.11.2019, 04:26 | |
|
Помогаю со студенческими работами здесь
5
Базы Данных. Кодировка ввода/вывода. Нет вывода из базы данных PHP из MYSQL
while и циклы для вывода из базы данных зачем нужны? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
Киев стоит - украинская песня
zorxor 28.01.2026
wfWdiRqdTxc
О Господи, Вечный, Ты . . .
Я помоги, Бесконечный. . .
Я прошу Ты. . .
Я погибаю, спаси. . .
Я прошу Тебя Вечный. . .
|
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога
SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
|
|
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
|
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога
SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
|
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога
Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip"
Извлеките архив и вы увидите. . .
|
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога
Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д.
Сборка примера
Скачайте. . .
|