3
編輯:爲什麼當我在我的LINQ to Entities查詢中使用GroupBy()時,結果中的導航屬性爲空?
我首先開發與EF代碼的應用程序,我有一個方法返回一個Dictionary<int,T>
:
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
。我的錯誤在哪裏?
更新時間:
我測試了一下,如果我刪除.GroupBy()
,它使導航屬性! 那麼我該如何解決這個問題呢?
你不需要。所有() –
@SamLeach:我需要的。所有(),因爲我想用一個標準 – Masoud
默認情況下將過濾所有記錄篩選所有記錄。 –