什麼是明智地編寫查詢性能的最佳方式。例如我可以寫查詢以獲得關於特定姓氏的所有聘用過的員工爲後續什麼是在實體框架中編寫查詢的最佳方式
ObjectQuery<Employee> queryEmp =
context.CreateQuery<Employee>(
"Select value e from Employees AS e Where e.LastName = @lastName",
new ObjectParameter("lastName", typeof(String)) { Value = "Farooqi" });
ObjectResult<Employee> results = query.Execute(MergeOption.AppendOnly);
OR
var v = from e in context.Employees where e.LastName == "Farooqi" select e;
OR
context.Employees.Where(e => e.LastName == "Farooqi");
OR
context.Employees.Where("LastName = @lastName", new ObjectParameter("lastName", typeof(String)) { Value = "Farooqi" });
我的問題是這一點,哪種查詢方法最好。 我感到困惑的是,我認爲(但不是很確定)使用除第一個之外的最後三種方法將從數據庫中提取所有員工記錄,然後通過枚舉所有記錄來滿足指定條件的記錄,所以我認爲最後三種方式比第一種方式需要更多時間,所以我只用了第一種。 但實際上我不知道最好的一個是什麼。 是否所有方法只抓取滿足條件的數據庫記錄或從數據庫獲取所有記錄,然後枚舉以在應用程序結束時返回已過濾的記錄?