下面的代碼正在工作,但是如果它無法根據where子句找到具有「Domain Administrator」的條目,它將完全忽略關於該特定內容的任何其他內容結果。這導致我缺少項目,因爲我生成的視圖可能沒有「域管理員」條目。我明白這是因爲它是一個明確的位置,但我不太清楚如何正確表示我需要做的事情。我懷疑我需要做一個左連接,但不知道這是如何影響導航屬性。任何指導正確的方向將不勝感激。沿線的具有實體框架的C#Lambda - 即使不匹配也會返回結果
var endpointConstructor = db.tbl_equipment.Include(t => t.tbl_Backup_Configuration)
.Where(e => e.tbl_Backup_Configuration.FirstOrDefault().BackupType == null)
.Where(e => e.tbl_customer.Calc_Contract_Status == true && e.Calc_Contract_Status == true && e.Equip_type.Contains("server")).OrderBy(e => e.tbl_customer.Priority)
.Where(what => what.tbl_customer.tbl_user_pass_list.FirstOrDefault().Usage1 == "Domain Administrator")
.Select(s => new CompanyServerUserPassViewModel { Comp_ID = s.Comp_ID, ServerName = s.NetBIOS_name, AdminUsername = s.tbl_customer.tbl_user_pass_list.FirstOrDefault().Username,
AdminPassword = s.tbl_customer.tbl_user_pass_list.FirstOrDefault().Password, Company = s.Company, TeamviewerID = s.tbl_computerinfo.FirstOrDefault().teamviewerID });
'FirstOrDefault()Password'作爲一個方面說明,你明白什麼是「默認」這裏是的,如果你要求的屬性會拋出。 ? –
是的 - 我會假設它不存在時會拋出null? – Trinitrotoluene