У меня отношение «один ко многим» с заказом и некоторыми линиями заказа.
При обновлении среды выполнения с 2.0. в NetCore 2.2.7 я начал получать это сообщение:
System.InvalidOperationException: свойство OrderId для типа сущности OrderLineDto имеет временное значение. Либо задайте постоянное значение явно, либо убедитесь, что база данных настроена для генерации значений для этого свойства.
Что-нибудь изменилось при обновлении, и что именно является этой ошибкой? В OrderlineDto у меня есть OrderId, но я никогда ничего не делал для его обслуживания, и я не предполагал, что должен.
Упрощенный код выглядит следующим образом:
Order o = new OrderDto() {Foo = "Foo"};
o.Lines.Add(new OrderlineDto(whatever) {Bar = "Bar"});
_db.Orders.Add(o);
_db.SaveChanges();
OrderlineDto isСначала база данных и выглядит следующим образом:
[Key]
[Column("Id_pk")]
public int Pk { get; set; }
public int OrderId { get; set; }
public virtual OrderDto Order { get; set; }
Это также, кажется, все еще работает на некоторых компьютерах, но не на других. Так что это может быть плохая установка или что-то в этом роде, но если можно было бы выполнить кодовую замену, которая решает это явным образом, то меня это тоже интересует.