对于不是模型的表中的每条记录
本文关键字:记录 模型 于不 | 更新日期: 2023-09-27 18:37:14
在 mvc4 中,我需要一个 foreach 来循环访问表中的所有记录。我的 html 包括:
@model SJBusService.Models.trip
我需要的记录来自总线表如果我尝试
foreach (var item in Model.bus)
{
}
i get SJBusService.Models.bus 不包含 'getEnumerator' 的公共定义
我该如何解决这个问题,我需要更改模型中的某些内容还是什么?
放一个@foreach也不能解决我的问题。
这是我的巴士模型
namespace SJBusService.Models
{
using System;
using System.Collections.Generic;
public partial class bus
{
public bus()
{
this.trips = new HashSet<trip>();
}
public int busId { get; set; }
public int busNumber { get; set; }
public string status { get; set; }
public string comments { get; set; }
public virtual ICollection<trip> trips { get; set; }
}
}
视图中的
模型引用看起来像基于总线类的拼写错误。 你的意思是@model SJBusService.Models.trip@model SJBusService.Models.trips吗? 此外,如果传递给视图的模型是 ICollection,则每个模型只需要引用模型。
您的型号或用法不正确。
如果您的视图被给予旅行,您将有一辆公共汽车:
Model.bus
=Model.bus.busNumber // etc.
另一方面,如果你的视图是一辆公共汽车,那么你将有一个旅行的集合:
Model.trips
foreach (var trip in model.trips)
{
...
}
所以你需要弄清楚一对多的走向。
如果这是某种旅程规划器,那么我猜给定的旅行将有许多公共汽车(对于旅行的每个部分),并且公共汽车将与许多旅行相关联。如果是这样,你实际上需要在中间有一个多对多模型,类似于
public class leg
{
public int Id { get; set; }
public int tripId { get; set; }
public virtual trip trip { get; set; }
public int busId { get; set; }
public virtual bus bus { get; set; }
}