在我最近的应用程序中,我有一个Document
实体,这个文档可以从一个用户引用到另一个用户,每组用户也有一个DocumentStation
; 这些是指登录DocumentStationHistory
表:
DocumentStationHistory
现在,我想列出所有最后一个文档,首先将表中的日志引用到Dictionary
使用 EF 代码(按分组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
. 我的错误在哪里?