Как избежать множественных вызовов БД для вставки объекта со связанными объектами в EF Core - PullRequest
0 голосов
/ 25 сентября 2019

У меня есть таблица «Транзакции» с двумя внешними ключами.Один внешний ключ ссылается на таблицу клиентов, а другой - на таблицу BillAmount.Таким образом, мой POCO выглядит как

public class Transaction
{
    public string Id { get; set; }
    public string CustomerId { get; set; }
    public string BillAmountId { get; set; }
}

public class Customer
{
    public string Id {get;set;}
    public string Name {get;set;}
}

public class BillAmount
{
    public string Id {get;set;}
    public double Amount {get;set;}
}

Когда я пытаюсь вставить новый объект Transaction, я замечаю, что в общей сложности 3 обращения к базе данных:

  1. Для выборкиCustomer запись, соответствующая идентификатору, присутствующему в объекте Transaction
  2. Для извлечения BillAmount записи, соответствующей идентификатору, присутствующему в команде Transaction object
  3. INSERT, которая в конечном итогевставляет новый Transaction объект

Как предотвратить вызовы 1) и 2)?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...