![](/img/trans.png)
[英]C# & Entity Framework linq query how to return the mapper even when object is null
[英]C# Lambda with Entity Framework - Return a result even when no match
下面的代码可以正常工作,但是如果无法根据where子句使用“域管理员”找到条目,它将完全忽略该特定结果上的任何其他内容。 这导致我缺少项目,因为正在生成的视图可能没有“域管理员”条目。 我知道这是因为这是一个明确的位置,但是我不太确定如何准确表示我需要做的事情。 我怀疑我需要做一个LEFT JOIN,但是不确定这会如何影响导航属性。 任何对正确方向的指导将不胜感激。
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 });
类似于以下内容:
.Where(what => [statement that evaluates to true if there is no domain admin]
|| what.tbl_customer.tbl_user_pass_list.First().Usage1 == "Domain Administrator")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.