首页 > 解决方案 > 在c#中向对象添加列表

问题描述

我显然是在错误地思考这个问题,因为我找不到类似的问题或例子。我实例化一个对象并想向该对象添加一个列表,但找不到正确的语法。将列表添加到对象的正确方法是什么?

List<business> businesses = (from j in db.business.Include("rooms") where j.status == "active" select j).ToList();

List<listing> listings = new List<listing>();

foreach(business b in businesses)
{
    listing l = new listing();
    l.id = b.id;
    l.title = b.title;
    listings.Add(l);
    List<listingrooms> listingrooms = new List<listingrooms>();
    List<listingamenities> listingamenities = new List<listingamenities>();

    foreach (rooms r in b.rooms)
    {
        listingrooms lr = new listingrooms();
        lr.id = r.id;
        lr.createDate = r.createDate;
        lr.doubleBeds = r.doubleBeds;
        lr.kingBeds = r.kingBeds;
        lr.numberCabins = r.numberCabins;
        lr.numberRooms = r.numberRooms;
        lr.numberSites = r.numberSites;
        lr.numberSuites = r.numberSuites;

        l.listingrooms.Add(lr);
    }
}

我的课程...

public class listing
{    
    public string title { get; set; }
    public int id { get; set; }

    public virtual ICollection<listingrooms> listingrooms { get; set; }
}

public partial class listingrooms
{
    public Nullable<int> numberRooms { get; set; }
    public Nullable<int> numberSuites { get; set; }
    public Nullable<int> kingBeds { get; set; }
    public Nullable<int> doubleBeds { get; set; }
    public Nullable<int> numberCabins { get; set; }
    public Nullable<int> numberSites { get; set; }
    public System.DateTime createDate { get; set; }
    public int id { get; set; }

    public virtual listing listing { get; set; }
}

标签: c#asp.net-mvcentity-framework

解决方案


你不初始化你的列表:

public class listing
{    

    public listing() // Create a costructor
    {
        // Initialize your List
        listingrooms = new List<listingrooms>();
    }

    public string title { get; set; }
    public int id { get; set; }

    public virtual ICollection<listingrooms> listingrooms { get; set; }
}

推荐阅读