根据ID从参考表中检索文字字符串值

时间:2019-05-09 20:28:20

标签: c# linq razor model-view-controller asp.net-mvc-viewmodel

我的项目有两个不同的类。一种是用于应用程序数据,用于有关每个服务的信息,另一种是用于存储服务名称的参考数据。

每个客户可以享受多种服务。我有一个包含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)?

0 个答案:

没有答案