Xunit 和 EFCore - 模拟一对多关系不起作用

Xunit and EFCore - Mocking One-To-Many relationship does not work

简介

我在为用户和就业之间的一对多关系模拟数据库时遇到问题。就业已正确添加到模拟数据库中,但当将同一实体添加到用户实体中的就业集合时,它不会加载。

代码

以上只是这两个案例的重要部分类

用户

public virtual ICollection<Employement> Employments { get; } = new List<Employment>();

就业

[Required]
[ForeignKey(nameof(User))]
public Guid UserId { get; set; }
public virtual User? User { get; set; }

例子

我使用一种叫做 EntityHelper 的东西来创建实体。我创建了就业实体,在我创建用户实体时使用它(这些都是在我调试时正确创建的)。我使用 db.AddRange() 将实体添加到数据库中。

这是它的样子。

问题

正如我之前提到的,几乎所有内容都已正确添加到数据库中。用户及其数据和就业。然而,用户中的就业集合是空的(即使我创建的用户实体有它)。我不确定这是 EF Core 或 XUnit 的问题还是它可能是什么。

其他一些可能值得了解的事实:

在从数据库中获取用户的 LINQ 查询中缺少答案 .include(u => u.Employments)