У меня есть 2 таблицы:Вставьте навигационное свойство, если оно не существует, или просто использовать его, если он существует без ключа
Person table -
PersonID
Name (unique index).
Orders table -
OrderID
Price
Item
PersonID (FK)
Я хочу, чтобы сделать вставку в таблицу заказов (с использованием EF), который будет вставьте список заказов (все с одним и тем же лицом, и я знаю только имя человека), я хочу, чтобы, если человек не существует в таблице персонажа, он будет вставлен в него, и он действительно существует, заказ будет заполнен правильный человек. Я не хочу сначала запрашивать, находится ли человек в таблице персонажа, потому что его избыточный вызов. Есть ли возможность добавить его только во время сохранения изменений и запросить сервер перед началом работы? что-то вроде этого:
Person thePerson = new Person {Name = "knownName"};
foreach (var order in orders)
{
context.Orders.AddObject(new Order
{
Price = order.Price,
Item = order.ItemName,
Person = thePerson
});
}
context.SaveChanges();
Я не вижу, как. Могу ли я спросить, почему вы рассматриваете запрос пользователя на избыточный вызов? –
, потому что это может случиться много в моей БД (код, который я написал, является упрощенной версией ...) - так это может привести меня к поездке туда и обратно в БД много раз, а не просто делать это один раз. – Clueless