RavenDb:LoadAsync with Include返回null

RavenDb:LoadAsync with Include返回null,ravendb,Ravendb,遇到问题时,我正在项目中添加一些异步调用。Session和AsyncSession之间的相同调用不会返回我的文档 文件如下: class公司{ 字符串Id; 字符串名; 业务单位业务单位; } 班级业务单位{ 字符串名; 列出业务单位; 列出员工名单; } 班级员工{ 串位置; 字符串用户标识; } 类用户{ 字符串Id; 字符串全名; } 用户和公司是我的RavenDb中的两个集合。如您所见,我们的文档公司中有一个业务单元树。因此,当我想加载一个公司时,我会打这个电话: var compan

遇到问题时,我正在项目中添加一些异步调用。Session和AsyncSession之间的相同调用不会返回我的文档

文件如下:

class公司{
字符串Id;
字符串名;
业务单位业务单位;
}
班级业务单位{
字符串名;
列出业务单位;
列出员工名单;
}
班级员工{
串位置;
字符串用户标识;
}
类用户{
字符串Id;
字符串全名;
}
用户和公司是我的RavenDb中的两个集合。如您所见,我们的文档公司中有一个业务单元树。因此,当我想加载一个公司时,我会打这个电话:

var company=Session.Include(x=>x.UserId)
.Load(公司ID)//工作得很有魅力
但当我尝试对Async执行相同操作时:

var company=await AsyncSession.Include(x=>x.UserId)
.LoadAsync(公司ID)//公司无效
var company=await AsyncSession.LoadAsync(companyId)//这是有效的
我不明白为什么它不起作用


在我寻找答案的过程中,我发现了和的实现之间的一个小差异。我不知道这些课程是否能解决我的问题。

谢谢你的失败测试。根本原因是您在其中使用的是字段,而不是属性。
这是客户端中的一个bug,很快就会修复,但同时您可以使用属性并完全避免它。

这不会在一个请求中加载相关的用户文档。 您可以这样做:

var company = session.Include<Company, User>(x => x.BusinessUnit.Employees.Select(y => y.UserId)).Load<Company>(companyId);
var company=session.Include(x=>x.BusinessUnit.Employees.Select(y=>y.UserId)).Load(companyId);

您可以向邮件列表提交一个失败的测试吗?这应该行得通。从Load返回的任何内容都应该从Load/Include返回。在这里查看如何提交失败的测试:我发布了一个失败的测试!