我有两个实体,如下所示。
public class SalesInvoice
{
public int Id { get; set; }
public DateTime Date { get; set; }
public int CustomerId { get; set; }
public virtual Customer Customer { get; set; }
public virtual List<SalesInvoiceItem> SalesInvoiceItems { get; set; }
public decimal TotalAmount { get; set; }
public SalesInvoice()
{
SalesInvoiceItems = new List<SalesInvoiceItem>();
}
}
public class SalesInvoiceItem
{
public int Id { get; set; }
public int ItemId { get; set; }
public virtual Item Item { get; set; }
public int Quantity { get; set; }
public decimal TotalPrice { get; set; }
public int SalesInvoiceId { get; set; }
public virtual SalesInvoice SalesInvoice { get; set; }
}
令人惊讶的是以下一行
SalesInvoice salesInvoice = Db.SalesInvoices.AsNoTracking().Include("SalesInvoiceItems").FirstOrDefault();
不仅包括SalesInvoiceItems,还包括其父SalesInvoice,这导致循环问题。
我不明白如何解决这个问题。我需要包括孩子,但不能再包括下一个级别。
请为此问题提出解决方案。
由于