Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
13 / 15 / 5
Регистрация: 01.05.2013
Сообщений: 357

EF генерирует связанные данные которые уже существуют

08.02.2021, 17:30. Показов 943. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуй, форум!

Столкнулся с проблемой. Имеется таблица - Types и таблица Objects
Таблица Types - некие варианты типов. Таблица Objects - создаваемые объекты конкретного типа.

Модели таблиц:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public class Type : Base {
 
public string ExternalId {get; set;}
 
public string Name {get; set;}
 
}
 
public class Object : Base {
 
public int TypeId {get; set;}
 
[ForeignKey("TypeId")]
public Type Type {get; set;}
 
}
При создании экземпляра Object, Enitity пытается создать и экземпляр Type. И если явно указывать его ID (в объекте Type.Id), выдаёт ошибку мол такой ID уже создан. Но мне и не нужно создавать экземпляр Type! Мне нужна лишь связка в таблице.

Похоже, я где-то неверно что-то настроил... объясните пожалуйста
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
08.02.2021, 17:30
Ответы с готовыми решениями:

Копирование только файлов, которые уже существуют в целевом каталоге
Из заданной директории переписать указанные шаблоном файлы в заданную директорию так, что бы были переписаны только "старые"...

Связанные таблицы. Отображать во второй DGV данные, которые относятся к выбранной записи в первой
Есть два datagridview. Если в datagridview1 в свойствах указать таблицу из связанной базы, а в datagridview2 связь этой таблицы с другой,...

Вирус на Джумле генерирует множество страниц, которые индексируются
Пример: http://krovlikubani.ru/e09f8we2 Где запрятан вирус, не понятно, но уже в Индексе 20к страниц((( Подскажите, где искать...

4
 Аватар для Andrey-MSK
3349 / 2235 / 388
Регистрация: 14.08.2018
Сообщений: 7,557
Записей в блоге: 4
08.02.2021, 17:40
jwplaster, свои классы Type и Object переименуйте по другому. Так как это названия встроенных классов C#:
1. Type Класс
2. Object Класс
0
13 / 15 / 5
Регистрация: 01.05.2013
Сообщений: 357
08.02.2021, 17:41  [ТС]
Andrey-MSK, это просто абстрактный пример) мои реальные классы так не называются. Не вписывать же мне всю модель таблицы
0
 Аватар для Andrey-MSK
3349 / 2235 / 388
Регистрация: 14.08.2018
Сообщений: 7,557
Записей в блоге: 4
08.02.2021, 17:47
jwplaster, не очень имена выбрали для примера По ссылке установка связей в EF
Configure One-to-Many Relationships in EF 6
0
 Аватар для Cupko
658 / 595 / 171
Регистрация: 17.07.2012
Сообщений: 1,682
Записей в блоге: 1
08.02.2021, 18:15
Цитата Сообщение от jwplaster Посмотреть сообщение
И если явно указывать его ID (в объекте Type.Id), выдаёт ошибку мол такой ID уже создан
Вам надо его указывать не в Type.Id, а в TypeId.
Проблема с самим объектом Type в том, что он не приаттачен к контексту - EF считает его новой записью. Как вы его достаете? AsNoTracking используете?

В общем, указывайте TypeId и всё должно сохраняться.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
08.02.2021, 18:15
Помогаю со студенческими работами здесь

Как добавить значения которые не существуют в поле
Привет всем, подскажите пж имеется таблица R1 и поле ch которое хранит номера счетчиков типа 12345678. так же имеется таблица R2 и поле...

Связанные данные
Подскажите плиз алгоритм обновления данных(UPDATE) в связанных таблицах.. Вроде только одну таблицу можно изменить..

Существуют ли процедуры, которые можно использовать как подпрограммы?
Подскажите пожалуйста, существуют ли в СИ процедуры, которые можно использовать как подпрограммы?

Написать функцию, которая принимает один параметр и генерирует данные для записи
Ребята, привет! Прошу, помогите, нужно до завтра сдать задачу, а я тему не поняла вообще..Буду очень благодарна! Написать функцию...

Нужно записать данные в файл, а затем число в начало файла, не удаляя уже имеющиеся данные
Здравствуйте, пишу задачу в ограниченное время. С помощью какого оператора и как можно перейти в начало файла и записать туда число, не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru