使用ASP MVC和实体框架。在视图中,您有一个页面声明,指定此视图的模型将是一个实现IEnumerable的集合。假设该集合持有Car对象,这些对象仅来自Ford(福特是该类别)。
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<IEnumerable<detelete.Models.Car>>" %>
此福特汽车列表是通过LINQ to Entities查询生成的。 EF对象thingee意识到汽车与制造商的关系(我称之为类别)
var dat = ent.CarSet.Where(m => m.Manufacturer.Name == nm);
List<Car> cars = dat.ToList<Car>();
return View("ListingByManufacturer", cars);
因此,在视图中,我显示了所有福特汽车的列表。我有正确显示所有汽车属性的视图,但没有办法显示汽车来自的类别(本例中的制造商)。我已经看到一些EF / MVC示例有两个foreach循环,顶部一个显示制造商 - 但感觉很糟糕。
似乎应该很简单,但我被卡住了......
答案 0 :(得分:2)
您只需通过控制器中的ViewData
传递制造商名称:
ViewData["Manufacturer"] = nm;
或者使用另一个对象作为包含汽车和制造商名称的模型
public class CategoryViewModel {
public string ManufacturerName { get; set; }
public List<Car> Cars { get; set; }
}
并将该类的实例传递给视图。