|
63 / 55 / 10
Регистрация: 12.02.2019
Сообщений: 303
|
||||||||||||||||
Работа с контекстом данных28.02.2020, 13:56. Показов 1632. Ответов 16
И снова я.. Опять модели.. Дедлайн
Теперь ближе к сути. Есть две основных модели и одна связующая(промеж Уточная) Модель станций Вопрос номер 1 в чем разница между virtual List<> и Icollection и что предпочтительнее использовать?
Вопрос номер 2 Мне допустим надо что-бы в маршрут входило несколько станций, это можно сделать только через дополнительное свойство типо List<Stantion>?
Вопрос номер 3 Правильно ли сделана связь между моделями ?(См. вопрос 1) И должен ли я работать с этой моделью в контексте данных?
Или же мне просто добавить модели маршрута поле списка станций и работать с ним?
0
|
||||||||||||||||
| 28.02.2020, 13:56 | |
|
Ответы с готовыми решениями:
16
Ошибка с контекстом Особенности Работы С Контекстом Unit-тестыController с контекстом |
|
63 / 55 / 10
Регистрация: 12.02.2019
Сообщений: 303
|
|
| 28.02.2020, 20:58 [ТС] | |
|
Вопросы актуальны, но вот +1 еще один, с чем мне работать в UnitOfWork`е, с промежуточной моделью?
Вообще не понимаю как это все должно работать :/
0
|
|
|
|
|||||||||
| 28.02.2020, 21:16 | |||||||||
|
В данном примере - просто заполняете List значениями и сохраняете контекст. EF сам создаст связи и запихает в другую таблицу все эти элементы. Это значит что после того как вы добавили станции: db.Stations.Add(st1), вы можете уже использовать их в коллекции:
при SaveChanges - сначала запишет Station's - использует объекты для коллекции - создаст запись RailRoute - использует объект для записи коллекции станций - добавит все станции, с Id RailRoute Добавлено через 23 секунды
1
|
|||||||||
|
63 / 55 / 10
Регистрация: 12.02.2019
Сообщений: 303
|
|
| 28.02.2020, 21:45 [ТС] | |
|
HF,
Не по теме: Я вас уже себе в менторы записал, такими темпами скоро будете получать з.п. Вопрос с моделью RailrouteStantion остается открытым, как я должен с ней работать? Могу ли я через нее допусти вызывать объекты, по идее я должен с помощью нее работать с объектами Railroute и Station, не так ли?
0
|
|
|
|
|||
| 28.02.2020, 21:58 | |||
|
Что такое "допустим вызывать объекты"? Что нужно - то и ищите. Эта модель поможет искать в разные стороны: станции для маршрута; маршруты для станции.
1
|
|||
|
63 / 55 / 10
Регистрация: 12.02.2019
Сообщений: 303
|
||||||
| 28.02.2020, 22:29 [ТС] | ||||||
|
HF, Спасибо вам большое, только всеровно не понимаю как работать с этой моделью, Сирко говорил что в репозиториях вообще не нужно работать с этой моделью, вы говорите что с ней можно работать.
Ее ведь надо как-то инициализировать прежде чем работать? Если так то логично будет передавать ей заполненный станциями маршрут? Еще вопрос))
0
|
||||||
|
|
||||
| 28.02.2020, 23:04 | ||||
![]() 2) Гуглите. Каждый делает как хочет. Нет чётких правил. Можно почитать обсуждения и принять какую-то сторону. 3) нельзя сказать new ICollection можно только new ListДля чего делают инициализацию. Чтобы не мучаться с проверкой на null. То есть мы всегда уверены что у нас есть объект и остаётся проверить только Count. Чтобы не мучаться - используйте эту промежуточную таблицу. Когда поймёте как работает или найдёте другой вариант - можно поменять. У вас дедлайн на носу, а вы закапываетесь глубже и глубже. Всё должно работать легко и не принуждённо. Вы бы уже создали простейшее приложение и тестировали наполнение. Давно бы поняли что и как работает.
0
|
||||
|
63 / 55 / 10
Регистрация: 12.02.2019
Сообщений: 303
|
|
| 28.02.2020, 23:14 [ТС] | |
|
HF, Дедлайн не волк, в лес не убежит, ST не получится в этот раз - получится в следуйщий goto:ST, отступать не собираюсь))
Закапываюсь или нет, просто не хочу писать говнокод поэтому и пытаюсь разобраться во всем как можно глубже, я понял как работает, уже на стадии вывода всего во вьюху (Но получаю null когда хочу вытянуть данные, классика))). Я уже сделал простое приложение, и тестировал наполнение, решил делать все заного, и сразу по возможности качественно))
0
|
|
|
|
||
| 28.02.2020, 23:31 | ||
|
0
|
||
|
63 / 55 / 10
Регистрация: 12.02.2019
Сообщений: 303
|
|
| 28.02.2020, 23:44 [ТС] | |
|
HF, Крайний вопрос на сегодня,ситуация такая что я переписал проект,а бд осталась старая, дропнуть не получается потому что currently use, при миграции выдает "Multiple identity columns specified for table 'Stations'. Only one identity column per table is allowed."
Сама база Как быть?
0
|
|
|
163 / 138 / 35
Регистрация: 25.11.2015
Сообщений: 910
|
|
| 29.02.2020, 08:18 | |
|
удали базу данных, удали миграции и проведи миграции по новой
0
|
|
|
63 / 55 / 10
Регистрация: 12.02.2019
Сообщений: 303
|
|
| 01.03.2020, 21:20 [ТС] | |
|
HF, Доброго времени суток, маленький вопросик, вроде-бы всё должно работать но..
Простите за скриншоты но так намного понятнее и быстрее. Сам контекст данных - Тут всё вроде-бы четко, и должно работать. Метод репозитория связующей модели - (Я думаю тут возможно нужно добавить Includы, но не знаю как) Метод контроллера. (Тут всё зависит от метода репозитория, но я добавлю на всякий) - Представление и сама ошибка - Пока писал решил пройтись дебагом)) В контексте всё путем, переменная забивается данными - Но вот в контроллере показывает null в переменной, как исправить?
0
|
|
|
|
|||||||
| 02.03.2020, 08:47 | |||||||
|
В контроллере (или там где загружаются данные), допишите
1
|
|||||||
|
163 / 138 / 35
Регистрация: 25.11.2015
Сообщений: 910
|
|||||||
| 02.03.2020, 10:30 | |||||||
Добавлено через 3 минуты
0
|
|||||||
|
63 / 55 / 10
Регистрация: 12.02.2019
Сообщений: 303
|
||||||
| 02.03.2020, 13:08 [ТС] | ||||||
|
HF, Такой вопрос, я хочу вытащить через Дроплист/Дропбокс список станций в представление. Я это делал через ViewBag и не работало как нужно, вы вроде-бы говорили что это можно сделать по другому, интересно как?
Пост и Гет методы контроллера, как правильно передать селект лист в представление?
Вроде с ней можно что-то сделать, короче даже если ее пофиксить - работать будет не правильно, что с этим можно сделать?
0
|
||||||
|
1497 / 1238 / 245
Регистрация: 04.04.2011
Сообщений: 4,363
|
||
| 07.03.2020, 00:52 | ||
|
Если оно строго типизировано на модель, то доп.информацию (кроме самого объекта - модели) можно передать несколькими способами. Например, через "рюкзак", но в самом представлении в разборе "рюкзака" нужна явная типизация. Есть два основных способа передачи в страницу более одной модели (список - тоже модель в общем случае). 1. Использовать мастер-таблицу и прилинкованные. Каждое - строго типизировано на нужную модель (одну) 2. Использовать "надкласс" - контейнер. Создать его ручками и вписать в него все, что требуется для страницы, в т.ч. все модели, которые надо передавать. В методе контроллера (или в репозитории) создавать контейнер, засовывать в него все модели (каждая - НД или единичная модель), потом передавать в единственную страницу, строго типизированную на контейнер. Контейнер удобен также для передачи сопутствующей информации, например данные юзера, № текущей страницы для пагинации, выбранный последний раз юзером элемент списка (<Select>) и т.д. В этом случае в представлении будут доступны все нужные модели. Ну есть, конечно, способы 3 и даже 4. Например, использование "рюкзака" (есть много недостатков) или хранение актуальной информации о соединении в базе (совсем криво, но работает)
0
|
||
| 07.03.2020, 00:52 | |
|
Помогаю со студенческими работами здесь
17
Проблема с контекстом класса ССlientDC
VBulletin Левая колонка с контекстом на форуме
Если траф лить с доров на сайты с контекстом Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|