|
0 / 0 / 0
Регистрация: 13.12.2018
Сообщений: 7
|
||||||||||||||||
Доступ к данным таблицы сформированным автоматически Code First23.04.2021, 09:30. Показов 1817. Ответов 8
Метки нет (Все метки)
Приветствую. Нужна светлая мысль, сам понять не могу) Проблема следующая: у меня WPF проект, в котором я работаю с БД через Entity Framework. Есть таблица работников и таблица городов. Связь типа многие-ко-многим, т.е. каждый работник может иметь доступ к нескольким городам и к каждому городу может быть привязано несколько работников.
Применяется подход Code First - соответственно сформировалась таблица работников (Employees), таблица городов (CityOfPresences) и (АВТОМАТИЧЕСКИ) сформировалась третья таблица для связи (EmployeeCityOfPresences). Так вот: я могу получать данные из первых двух таблиц, но никак не могу понять как получить доступ к данным таблицы EmployeeCityOfPresences. Код класса Employee
0
|
||||||||||||||||
| 23.04.2021, 09:30 | |
|
Ответы с готовыми решениями:
8
Получить доступ к данным выделенной строки таблицы listView Как массово присвоить CODE одной таблицы к CODE другой таблицы в Mysql, если связь — NAME? ASP&Доступ в другой домен выдает сообщение 'Разрешить странице доступ к данным в другом домене'. |
|
1341 / 920 / 265
Регистрация: 08.08.2014
Сообщений: 2,766
|
|
| 23.04.2021, 09:46 | |
|
Явно добавить в проект класс для 'EmployeeCityOfPresences', связать две ваши сущности через него и добавить в контекст DbSet для него.
0
|
|
|
1524 / 914 / 329
Регистрация: 17.05.2015
Сообщений: 3,438
|
|
| 23.04.2021, 09:50 | |
|
А еще лучше вручную редактировать схему бд, а классы обновлять по команде dbcontext scaffold
0
|
|
|
1497 / 1238 / 245
Регистрация: 04.04.2011
Сообщений: 4,363
|
||||||
| 23.04.2021, 12:12 | ||||||
|
Не знаю, как в CodeFitst, не работаю с ним, но где у Вас счетчики в двух основных таблицах ?
Для многие-ко-многим нужна новая перекрестная таблица, как Вы правильно заметили. Она должна состоять минимум из 3 полей : Id самой записи - связки, Id работника и Id города. Очевидно, что сама эта сущность нужна лишь для правки, но не для отображения. Чтобы получать списки для сеток, Вам нужен запрос с джоинами типа такого:
0
|
||||||
|
0 / 0 / 0
Регистрация: 13.12.2018
Сообщений: 7
|
|
| 30.04.2021, 18:04 [ТС] | |
|
Спасибо всем за ответы. Ход мысли понял. И всё даже заработало) Но в процессе изучения нового возникла беда - через обозреватель объектов SQL Server в Visual Studio удалил ненужную таблицу. Но при работе программы экземпляр моего контекста ссылается на неё. Перелопатил весь код так и не понял откуда идёт обращение... Глупый конечно вопрос, но все же куда смотреть? Заранее благодарю!
0
|
|
|
1497 / 1238 / 245
Регистрация: 04.04.2011
Сообщений: 4,363
|
|
| 30.04.2021, 23:47 | |
|
Если Вы используете EF Code First, то нельзя делать любые правки в БД помимо EF. Если все же такое произошло, поднимите БД из бэкапа, а проект из архива. Если же нет ни того, ни другого, то ищите "синие" строки в коде и удаляйте их и все, что с ними связано. А лучше - создайте проект заново - это научит Вас не "махать шашкой"
1
|
|
|
14135 / 9355 / 1350
Регистрация: 21.01.2016
Сообщений: 35,153
|
||
| 01.05.2021, 04:07 | ||
|
0
|
||
|
0 / 0 / 0
Регистрация: 13.12.2018
Сообщений: 7
|
|
| 01.05.2021, 15:20 [ТС] | |
|
По поводу "шашку в сторону" я понял(
Но неужели нет какого-то способа очистить контекст? С EF знаком слабовато, вопросы возможно задаю наивные, но могу опереться только на Ваши ответы. Где я рассуждаю неправильно?: 1. при запуске программы формируется новый экземпляр моего контекста 2. раз он ссылается на удаленную таблицу, значит при формировании данного экземпляра используются где-то ранее сохраненные данные 3. Их надо подкорректировать и проблема будет решена Или это так не работает?) Спасибо!
0
|
|
|
1497 / 1238 / 245
Регистрация: 04.04.2011
Сообщений: 4,363
|
|||||
| 02.05.2021, 00:00 | |||||
|
Что же касается контента БД (содержимое таблиц, т.е. данные), опять же смотрите на миграцию, как она указана и была ли включена при создании контекста. Если Вы имеете в виду, что в результате Вашей "шашки" исчезли некоторые определенные в Модели сущности, и надо это исправить, то Вам сказано, как это делать. Но это может быть сложнее, чем создать Модель и контекст заново. Добавлено через 5 минут Общий совет: если для Вас критична скорость написания и отладки проекта, То создайте нужную базу в SSMS, там же заполните ее отладочными данными. После чего накатите готовую базу на EF - получите готовый контекст и классы Модели. Далее все просто суете куда надо и все заработает.
1
|
|||||
| 02.05.2021, 00:00 | |
|
Помогаю со студенческими работами здесь
9
Есть ли возможность контролировать доступ флэшкам у которых есть доступ к данным через Security.allowDomain() Разложить данные одной таблицы по данным другой таблицы, не связанных напрямую Создание отчета по данным, Нужны хотя бы идеи как формировать автоматически :) Как автоматически сформировать все таблицы из t1, по найденным значениям из таблицы t2 Вывод данных из таблицы по данным из другой таблицы Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
Загрузка 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 и т. д.
Сборка примера
Скачайте. . .
|