c# - 根据 ID 从引用表中检索文字字符串值
问题描述
我的项目有两个不同的类。一个用于应用程序数据,用于有关每个服务的信息,第二个用于存储服务名称的参考数据。
每个客户可以有多项服务。我有一个包含 CustomerServices 类型的视图模型。我正在尝试获得一位客户的所有客户服务。我通过 linq 查询得到了正确的结果,但它返回了服务的 ID,但我想通过查看参考数据来打印出服务的名称。我可以在我的 Linq 查询中加入它们,但 ViewModel 没有服务名称的属性,那么如何在我的剃刀视图中显示服务名称而不是 ID?
Linq 查询
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;
剃刀查看页面
<span>@Html.DisplayFor(modelItem => Model.CustomerServices.lngServiceID):$@Html.DisplayFor(modelItem => Model.CustomerServices.ServiceRatePerNight)</span>
现在,它打印 10 : $45 的服务 ID。如何获取服务名称并打印它而不是 id(10)?
解决方案
推荐阅读
- python - selenium.common.exceptions.NoSuchElementException:消息:没有这样的元素:无法找到元素:{“method”:“xpath”,“selector”:“”}
- objective-c - Obj-C 中 Mac Catalyst 应用程序的自定义菜单
- amazon-web-services - 为 Node JS 应用程序部署时,AWS Elastic Beanstalk 未在 .platform 文件夹文件中创建自定义 nginx conf
- java - 打印的考试树集
- sql - 在 Postgres 中防止 INSERT 的竞争条件?
- reactjs - 在函数中反应 setState 或在 useCallback 中反应 setState
- python - 如何在 Python 中为炮弹的运动建模?
- python - 用于客户操作的 sklearn 管道
- html - Sass 编译中的 Ruby 错误:Errno :: ENOENT: No files or directory of this type @ rb_sysopen test.scss 使用 --trace 进行回溯
- sql-server - 如何获取某个日期之前的最新余额(t-sql)