我將在我的項目的一些異步調用,當我遇到一個問題。 Session和AsyncSession之間的相同調用不返回我的文檔。RavenDb:LoadAsync與包括返回null
這裏的文件:
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;
}
用戶和公司都在我的RavenDb兩個集合。正如您所看到的,我們的文檔Company中有一個業務單位樹。所以,當我想加載一個公司,我做這樣的判斷:
var company = Session.Include<Employee, User>(x => x.UserId)
.Load<Company>(companyId); //Working like a charm
但是,當我試圖做同樣的異步:
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實施之間的微小差異。我不知道我的問題是否可以通過這些課程來解決。
你可以提交一個失敗的測試郵件列表? 這_should_工作。從Load返回的任何內容都應該從Load/Include中返回。 瞭解如何在這裏提交一個失敗的測試: http://ravendb.net/docs/article-page/3.5/Csharp/server/troubleshooting/sending-support-ticket –
我已經發布了一個失敗的測試! – Galhem