1

私は辞書で同様の問題を抱えていました.JSONオブジェクトをGETリクエストに返すために、ビューモデルにデータを入力しようとしています.

私のビューモデルは次のとおりです。

public class HotelInventoryta
{
    public int api_version { get; set; }
    public string lang { get; set; }
    public List<Hotel_List_ta> hotels { get; set; }
}

public class Hotel_List_ta
{
    public int ta_id { get; set; }
    public string partner_id { get; set; }  
    public string name { get; set; }   
    public string street { get; set; }  
    public string city { get; set; }    
    public string postal_code { get; set; } 
    public string state { get; set; }   
    public string country { get; set; }
    public double latitude { get; set; }    
    public double longitude { get; set; }  
    public string desc { get; set; }    
    public string url { get; set; }    
    public string email { get; set; }  
    public string phone { get; set; }   
    public string fax { get; set; }     
}

私のデータベースモデルは次のとおりです。

 [Table("tblHotel")]
public class Hotelta
{
    [Key()]
    [Column("hotel_id")]
    public long hotel_id { get; set; }
    public string hotel_name { get; set; }
    public string hotel_add1 { get; set; }
    public string hotel_towncity { get; set; }
    public string hotel_pc { get; set; }
    public string hotel_country { get; set; }
    public string hotel_pass { get; set; }
    public string hotel_email { get; set; }
    public string hotel_tel { get; set; }
    public string hotel_fax { get; set; }
}

ビューモデルを作成するための私のコントローラー コードは次のとおりです。

    private HoteltaContext dbh = new HoteltaContext();
    //
    // GET: /ta/hotel_inventory
    [HttpGet]
    public HotelInventoryta hotel_inventory(int api_version, string lang)
    {
        {

            HotelInventoryta hotelinventory = new HotelInventoryta();
            hotelinventory.api_version = api_version;
            hotelinventory.lang = lang;

            // Get data from database
            var h = dbh.Hotelta.Where(x => x.hotel_id != 0).ToList();

            // loop through each result, and add it to the hotelinventory.hotels model
            foreach (var ht in h)
            {
                // I get the exception on the next line
                hotelinventory.hotels.Add(new Hotel_List_ta
                {
                    ta_id = 0,
                    partner_id = ht.hotel_id.ToString(),
                    name = ht.hotel_name,
                    street = ht.hotel_add1,
                    city = ht.hotel_towncity,
                    postal_code = ht.hotel_pc,
                    country = ht.hotel_country,
                    url = "http://www.me.com",
                    email = ht.hotel_email,
                    phone = ht.hotel_tel,
                    fax = ht.hotel_fax
                });
            }

            return hotelinventory;
        }
    }

エラーは次のとおりです。

Object reference not set to an instance of an object

まず、エラーの解決を手伝っていただけますか?可能であれば、データベースから読み取ってビューモデルにデータを入力する方法が最善の方法であるかどうかを確認してください。

ありがとう、マーク

4

1 に答える 1