如何避免在EF Core中插入具有相关实体的对象的多个数据库调用

问题描述 投票:0回答:1

我有一张桌子说,交易有两个外键。一个外键引用客户表,另一个外键引用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对象中存在的ID对应的Transaction记录
  2. 获取与BillAmount对象中存在的ID对应的Transaction记录
  3. INSERT命令最终将插入一个新的Transaction对象

如何阻止电话1)和2)?>>

我有一张桌子说,交易有两个外键。一个外键引用客户表,另一个外键引用BillAmount表。所以我的POCO就像公共类Transaction {public ...

c# entity-framework-core ef-core-2.0 ef-core-2.1 ef-core-2.2
1个回答
0
投票

首先,如果您使用ORM工具(如EF核心),则应根据它来重新组织实体;

© www.soinside.com 2019 - 2024. All rights reserved.