在linq Select语句中使用子查询选择数据

在linq Select语句中使用子查询选择数据,linq,lambda,Linq,Lambda,我有一个linq查询,它将所有字段的正确数据返回给我 var data= (from p in table1 select new ViewModel { AgentFirstName = p.AspNetUser.UserAdditionalDatas.Where(c => c.User

我有一个linq查询,它将所有字段的正确数据返回给我

var data= (from p in table1
                        select new ViewModel
                        {                          
                            AgentFirstName = p.AspNetUser.UserAdditionalDatas.Where(c => c.UserId == p.userId).Select(c => c.FirstName).FirstOrDefault() + " " + p.AspNetUser.UserAdditionalDatas.Where(c => c.UserId == p.userId).Select(c => c.LastName).FirstOrDefault(),
                            AgentCompanyName = p.AspNetUser.UserAdditionalDatas.Where(c => c.UserId == p.userId).Select(c => c.Company).FirstOrDefault(),                           
                        }).ToList();
问题是“AgentCompanyName”字段。它显示的是公司的ID,而不是名称。我如何才能达到预期的结果。我与公司表没有任何关系。 这是我为公司获取的数据截图。


请在这方面帮助我。

好吧,您正在选择该属性中的
Company
字段。该字段是否包含ID?如果是这样,请选择包含名称的字段。该字段包含ID。您是对的。我想我必须在select语句中将该ID连接到公司表。我是对的吗?理想情况下,该对象要么具有您想要的属性,要么具有导航属性以链接到具有您想要的属性的对象。但我真的不知道,这是你的密码。如果没有导航属性,那么连接可能是正确的,是的。