【发布时间】:2016-11-26 22:02:13
【问题描述】:
当我遇到问题时,我正在我的项目中添加一些异步调用。 Session 和 AsyncSession 之间的相同调用不会返回我的文档。
这里是文档:
class Company {
string Id;
string Name;
BusinessUnit BusinessUnit;
}
class BusinessUnit {
string Name;
List<BusinessUnit> BusinessUnits;
List<Employee> Employees;
}
class Employee {
string Position;
string UserId;
}
class User {
string Id;
string FullName;
}
User 和 Company 是我的 RavenDb 中的两个集合。如您所见,我们的文档公司中有一个业务单元树。所以当我想加载公司时,我会打这个电话:
var company = Session.Include<Employee, User>(x => x.UserId)
.Load<Company>(companyId); //Working like a charm
但是当我尝试对 Async 做同样的事情时:
var company = await AsyncSession.Include<Employee, User>(x => x.UserId)
.LoadAsync<Company>(companyId); //company is null
var company = await AsyncSession.LoadAsync<Company>(companyId); //This is working
我不明白为什么它不起作用。
在寻找答案的过程中,我发现MultiLoaderWithInclude 和AsyncMultiLoaderWithInclude 的实现之间存在细微差别。我不知道这些课程能否解决我的问题。
【问题讨论】:
-
您可以向邮件列表提交失败的测试吗?这应该工作。从 Load 返回的任何内容都应该从 Load/Include 返回。在此处查看如何提交失败的测试:ravendb.net/docs/article-page/3.5/Csharp/server/troubleshooting/…
-
我发布了一个失败的测试!
标签: ravendb