Linq方法从基于ID的另一个表获取数据

时间:2015-03-03 16:40:30

标签: c# linq

我有一个客户表,我有基本信息名称地址邮政编码等。公司可以拥有多个客户。因此,该关系与使用外键 CompanyId 的Company表松散相关。要搜索我使用的客户,可以使用IQueryable方法

private IQueryable<CustomerModel> MapCustomer(IQueryable<Customer> query)
{
    return (from a in query
            select new CustomerModel
            {
                CompanyId = a.CompanyId,
                CustomerId = a.Id,
                CustomerName = a.Name,
                AddressLine1 = a.AddressLine1,
                PhoneNo = a.TelephoneNumber,
                Postcode = a.PostCode,
                ServiceCompletion = a.ServiceCompleteted,
                ServiceDate = a.ServiceDate
            });
}

正如您所看到的,如果我需要搜索我所做的全部内容,请调用该函数返回 IEnumerable ,然后在其上使用 Where

return MapCustomer(db.Customers.AsNoTracking().Where(x => x.Id == id)).FirstOrDefault();

问题是我需要能够填充公司名称而不是CompanyID。因此,当我得到结果时,我将能够看到公司的 名称 。我该怎么做才能获得这些信息?任何帮助表示赞赏。

0 个答案:

没有答案
相关问题