У меня есть объекты, взятые из внешней системы, сгенерированные там идентификаторы. Мне нужно хранить их с помощью ef core (3.1.2+). Как я могу это сделать?
Единственные способы, которые я пока вижу, - это
- Первое извлечение сущности из БД. Если не там, то сохранение нового. В противном случае получите его, скопируйте значения из моей сущности и сохраните. Повторите вручную для всех сущностей со своими дочерними элементами (весь график).
- Используйте FlexLabs.Upsert для каждой сущности со своими дочерними элементами.
Я пытался работать с EF Core ChangeTracker.TrackGraph
, но нет удачи. Тем более, что у меня могут быть такие объекты, как ниже. С вложенными сущностями, некоторые сущности повторно используются в нескольких сущностях (например, цвет), некоторые сущности сохраняются уже в БД, некоторые нет (не может сказать).
homes:[
{
id:"A",
color:{
id:"1",
name:"red"
},
colorId:1,
doorsNum:3,
windows:[
{
id:17,
size:"big"
},
{
id:18,
size:"small"
}
]
},
{
id:"B",
color:{
id:"1",
name:"red"
},
colorId:1,
doorsNum:7
},
]