【发布时间】:2026-02-08 00:30:01
【问题描述】:
我是 MVC 新手,我使用存储库模式尝试选择包含两个对象的数据以返回到强类型视图模型,
我有点不知道最好的方法是什么,
这两个表由一个客户 ID 字段相关,我设置了一个存储库接口,以及一个强类型化到包含客户属性和客户站点对象的视图模型的显示模板,我所需要的只是显示客户站点列表以及客户表中的相关客户名称。
在显示模板中我有以下内容
<%= Html.DisplayFor(x => x.Customers.CustomerName) %>
<%= Html.DisplayFor(x => x.Customers.Site.AddressLine1) %>
我有这个显示模板工作,但我的模型是空的。
我感到困惑的是如何在界面和存储库中定义这些数据,以及如何将数据返回到我的模型,以简单地返回我在界面中使用的客户列表
IQueryable<Customer> Customers { get; }
然后是一个简单的 LINQ 选择。
但由于此数据将包含客户和客户站点,我不确定如何在界面中定义它?
LINQ 连接也是将此数据返回到我的视图模型的合适方法吗?像
var Customers =
from c in customers
join cs in customerSites on c equals cs.CustomerId into ps
from p in ps
select new { Customer = c, cs.CustomerName };
更新=========
这是我在视图模型中使用的代码,它只输入到显示模板中,
public class CustomerViewModel
{
public int Id { get; set; }
public string CustomerName { get; set; }
public string PrimaryContactName { get; set; }
public SiteViewModel Site { get; set; }
}
它是如何使用两个对象填充存储库/控制器中的模型以显示在我正在努力解决的列表中。
【问题讨论】:
标签: asp.net-mvc-2 repository viewmodel