gpt4 book ai didi

c# - Entity Framework Core 急切加载然后包含在集合中

转载 作者:IT王子 更新时间:2023-10-29 04:26:38 26 4
gpt4 key购买 nike

我想在执行查询时包含三个模型。

这是场景。

public class Sale
{
public int Id { get; set; }
public List<SaleNote> SaleNotes { get; set; }
}

public class SaleNote
{
public int Id { get; set; }
public User User { get; set; }
}

public class User
{
public int Id { get; set; }
}

我可以像这样急切加载 SaleNotes...

_dbContext.Sale.Include(s => s.SaleNotes);

但是,尝试使用 ThenInclude 从 SaleNote 中预先加载 User 模型具有挑战性,因为它是一个集合。我找不到任何关于如何急切加载这个场景的例子。有人可以提供以下 ThenInclude 中的代码来为集合中的每个项目加载用户。

_dbContext.Sale.Include(s => s.SaleNotes).ThenInclude(...);

最佳答案

SaleNotes 是集合导航属性并不重要。它对于引用和集合应该是一样的:

_dbContext.Sale.Include(s => s.SaleNotes).ThenInclude(sn=>sn.User);

但据我所知,EF7 还支持使用 Select 扩展方法的旧的多级包含语法:

_dbContext.Sale.Include(s => s.SaleNotes.Select(sn=>sn.User));

关于c# - Entity Framework Core 急切加载然后包含在集合中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38044451/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com