問題が発生したときにプロジェクトで非同期呼び出しをいくつか追加していました。 SessionとAsyncSession間の同じ呼び出しがドキュメントを返さない。ここでRavenDb:Includeを含む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で2つのコレクションです。ご覧のように、私たちは文書会社にビジネスユニットのツリーを持っています。だから私は会社をロードするとき、私はこの呼び出しを行います。
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の実装の間に小さな違いがあります。これらのクラスで私の問題が解決できるかどうかはわかりません。
メーリングリストに失敗したテストを提出できますか? これは動作する必要があります。 Loadから返されたものは、Load/Includeから返されます。 ここで失敗したテストを送信する方法を参照してください: http://ravendb.net/docs/article-page/3.5/Csharp/server/troubleshooting/sending-support-ticket –
失敗したテストを投稿しました! – Galhem