#.net-core #entity-framework-core #.net-5
Вопрос:
У меня есть List<Employees> emplist = new List<Employees>
в этом, что я добавляю три раза.
emplist.add(emplist1)
Then functionality here for emplist2
emplist.add(emplist2)
Then functionality here for emplist3
emplist.add(emplist3)
_context.AddRange(emplist)
_context.SaveChanges()
когда я добавляю в Бд, он добавляет только emplist1.В отладчике в AddRange вы видите, что у empllist есть все 3 коллекции, но в бд он сохраняет только emplist1.любое тело может помочь в этом.
Комментарии:
1. Уверены ли мы,что переменные emplist1,2, 3 не содержат один и тот же экземпляр объекта?
2. да, не в том же экземпляре я добавляю новый emp в список. В поле добавить диапазон я вижу весь объединенный список, но в бд он сохраняет только первую коллекцию. Я использую SqlliteDB.
3. Что на самом деле представляет собой тип emplist1,2,3? Я предполагал, что это просто плохо названные переменные, но вы также написали все 3 коллекции » . Надеюсь, что на самом деле это не списки,
AddRange
ожидает список объектов (сущностей), а не список списков.4. Можете ли вы опубликовать класс Emplist1 и где вы его создаете?
5. да, удалось выяснить, похоже, на тот же список ссылались и переписывали Спасибо Дэну и Ивану
Ответ №1:
на самом деле тот же список был обновлен и исправлен. Также в sqllite результаты выгружаются не так, как в sqlserver, где все показано в одной сетке. поэтому я подумал, что он не добавлен после нажатия на набор результатов страницы в sqllite, чтобы увидеть результаты.