0
我不知道是否有這樣執行查詢時的任何時間:何時使用手動索引查詢的EF導航屬性?
var documentId = report.DocumentId;
return db.Documents.Find(documentId);
會比建立一個虛擬/導航性能和這樣做是好還是壞:
return report.Document
凡DocumentId是該桌上的PK。
它們是同一件事嗎?
我不知道是否有這樣執行查詢時的任何時間:何時使用手動索引查詢的EF導航屬性?
var documentId = report.DocumentId;
return db.Documents.Find(documentId);
會比建立一個虛擬/導航性能和這樣做是好還是壞:
return report.Document
凡DocumentId是該桌上的PK。
它們是同一件事嗎?
我想說如果這是與報告相關的文件,那麼你沒有理由不做report.Document
。你的選項都應該執行相同的查詢。你可以做的,其可以提供一些好處是使用Include
:
db.Reports.Include(x => x.Document).First(report => report.Id == id)
這將允許您檢索報告,並在單個查詢它的相關文件。即只要您的代碼達到report.Document
,文檔就不會被加載。