我有以下爲我的實體框架類的一部分的值: -使用自定義對象
public CustomerDetails GetCustomer(int id) {
var customerDetails = entities.AccountDefinitions
.Where(a => a.ORG_ID == id)
.Select(cd => new CustomerDetails
{
AD = cd,
SD = cd.SDOrganization,
AA = cd.SDOrganization.AaaPostalAddresses,
SN = cd.SiteDefinitions,
Ar = cd.SiteDefinitions.SelectMany(a => a.DepartmentDefinitions.SelectMany(a2 => a2.SDUsers.Select(a3 => a3.AaaUser)))
})
.SingleOrDefault();
return customerDetails;
}
內。選擇裏面我有五個任務操作,但是因爲一些分配取決於其他所以如何我寫的東西,如: -
Ar = SN.SelectMany(…….)
所以在這種方式我將只查詢數據庫只有一次檢索cd.SiteDefenitions?
我認爲你可以像'SN = cd.SiteDefinitions.Include(「DepartmentDefinitions.SDUsers)一樣使用[Include method](http://msdn.microsoft.com/en-us/library/bb738708.aspx)。 AaaUser「),以便對第一個引用的查詢也將檢索第二個引用所需的數據,以便不需要對數據庫進行第二次查詢。不過,我會證實這一點。 –
實體框架創建了很多未解答的問題,並且您對如何執行查詢感到困惑。我用數據庫上的存儲過程來完成所有的工作,事情很清楚。並且您感覺更安全,因爲您確信哪些數據將被準確傳輸到客戶端 –