无法在视图中访问ICollection数据

时间:2017-02-06 14:54:41

标签: c# asp.net asp.net-mvc

当我尝试访问我的ICollection内容时,我偶然发现了一个错误。 代码如下: 图

foreach (var carInfo in Model)
{
    @carInfo.Id
    @carInfo.Brand
    ......... ect.

    foreach (var rentInfo in carInfo.RentInfo)
    {
       @rentInfo.RentDate
       ....... ect.
    }
}

查看顶部:

@model IEnumerable<TestApp.Models.Cars>

车型:

public class Cars
{
    public int Id { get; set; }
    public string CarPlateNumber { get; set;  }
    public string Brand { get; set; }
    public string Fullname { get; set; }
    public string Category { get; set; }
    public int ReleaseDate { get; set; }
    public int SeatCount { get; set; }
    public string GearBox { get; set; }

    public virtual ICollection<CarRent> RentInfo { get; set; }
}

如果我删除代码:

foreach (var rentInfo in carInfo.RentInfo)
        {
           @rentInfo.RentDate
           ....... ect.
        }

一切正常,问题是为什么这个aprouch不起作用?

1 个答案:

答案 0 :(得分:0)

我确实发现了我的错误。问题很简单,只要我的ICollection从db返回null,就会发生这个错误。所以我确实把简单的if语句用来检查参考:

carInfo.RentInfo

不为null,然后才执行foreach命令。谢谢你的帮助。