Я пытаюсь добавить новый DbUserInfo2 в мою БД. У него есть дочерняя таблица PostalAddress. По какой-то причине мне нужно установить UserId для DbUserInfo2 вручную.
Это не работает в ef core 3.1, раньше оно работало в ef core 2.2.
Что происходит, так это то, что EF пытается создать новую строку PostalAddress, прежде чем она создаст строку DbUserInfo2. Таким образом, приводя к внешнему ключу.
Есть идеи, что я сделал не так?
public class DbUserInfo2
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.None)]
public int UserId { get; set; }
public DbPostalAddress2 PostalAddress { get; set; }
}
public class DbPostalAddress2
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int PostalAddressId { get; set; }
public int UserId { get; set; }
}
void TestInsert(MyDbContext db)
{
var user = new DbUserInfo2 { UserId = 22, PostalAddress = new DbPostalAddress2() };
db.Add(user);
await db.SaveChangesAsync();
}