【发布时间】:2021-03-09 15:41:31
【问题描述】:
我有一个未启用延迟加载的 EF.Core 2.1 DataContext。
我的配置如下:
services.AddDbContext<DataContext>(options =>
options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
我的测试使用相同的 DataContext,但使用不同的选项,如下所示:
options.UseInMemoryDatabase(databaseName: "ProjectSpecs")
这一切都很好,除了我在内存中的 DataContext 急切地加载所有内容。
如果我要求一个实体,它会加载所有相关的对象吗?
这意味着如果我想实际加载相关属性而忘记这样做,我的测试将在加载相关实体时通过。但在实际应用中,由于.include 被遗忘,它会失败。
我可以让内存中的 DataContext 的行为与真实的相同吗?
【问题讨论】:
-
嘿,伙计,你想明白了吗?我遇到了同样的问题,甚至 MSDN 文档也没有太大帮助。如果您能找到答案,将不胜感激。谢谢!
-
不怕,目前我只是凑合着看。如果我找到答案,我会在这里更新。
-
今天刚发现同样的问题。我有一个通过的测试,但生产代码没有做正确的事情,因为内存数据库正在加载所有导航属性,但真正的上下文没有。
标签: entity-framework entity-framework-core