我的项目有两个不同的类。一种是用于应用程序数据,用于有关每个服务的信息,另一种是用于存储服务名称的参考数据。
每个客户可以享受多种服务。我有一个包含CustomerServices类型的视图模型。我试图获得一位客户的所有客户服务。我可以通过linq查询正确地获得它,但是它返回服务的ID,但是我想通过查看参考数据来打印出服务的名称。我可以在Linq查询中加入它们,但是ViewModel没有服务名称的属性,那么如何在剃刀视图中显示服务名称而不是ID?
Linq查询
select QUARTER_DATE ,COUNTRY,sum(DOLLAR_VALUE_US), sum(QUANTITY), max(SHIPPING_TOTAL)
from transaction_detail_mv
group by QUARTER_DATE,COUNTRY
我的视图模型
var data = from profile in _context.Customers
join services in _context.CustomerServices
on profile.strUserID equals services.strUserID
join refServices in _context.ServicesOffered
on services.lngServiceID equals refServices.lngServiceID
where profile.strUserID == UserId
select new { p = profile, s = services, refs = refServices };
控制器代码:
public class ServiceProvider
{
public CustomerProfile Customer { get; set; }
public IEnumerable<CustomerProfile> CustomerProfiles { get; set; }
public CustomerServices CustomerServices { get; set; }
}
剃刀查看页面
var serviceProviderViewModel = new ServiceProvider
{
Customer = new CustomerProfile(),
CustomerServices = new CustomerServices(),
};
foreach (var v in data)
{
serviceProviderViewModel.Customer = v.p;
serviceProviderViewModel.CustomerServices = v.s;
RatingList.Add(v.r);
}
serviceProviderViewModel.CustomerRating = RatingList;
现在,它显示服务ID,即10:$ 45。如何获取服务名称并打印出来而不是id(10)?