私の最近のアプリケーションでは、Document
エンティティがあり、このドキュメントはユーザーから別のユーザーを参照できます。また、ユーザーの各グループにはDocumentStation
;があります。これらは、ログに記録されたDocumentStationHistory
テーブル
を参照します。
ここで、最初にEFコードを使用してDocumentStationHistory
テーブルにログインする最後のドキュメントをすべてリストしたい(グループ化)。だから私はこれらの方法を書きました:Dictionary
documentId
public Dictionary<int, DocumentStationHistory> GetLastDocumentStationHistoryListOfDocuments(string criteria)
{
Dictionary<int, DocumentStationHistory> result = new Dictionary<int, DocumentStationHistory>();
using (IUnitOfWork uow = new MyContext())
{
DocumentStationHistoryRepository repository = new DocumentStationHistoryRepository(uow);
result = repository.All().
Include(x => x.DocumentStation).
Where(criteria,new object[]{}).
OrderBy(d=>d.DocumentId).
OrderBy(d=>d.DocumentStationHistoryId).
GroupBy(g => (int)g.DocumentId).
ToDictionary(g => (int)g.Key, g => g.LastOrDefault());
return result;
}
}
辞書を返しますが、結果は正しくありません。各ドキュメントの最後のDocumentStation
参照、ナビゲーション プロパティも返しません。結果はnull
. 私の間違いはどこですか?