2013-03-20 56 views
0

我通過使用select語句LINQ to SQL從我的表中選擇了4列。然後我創建一個新的List來存儲查詢結果。但是,代碼room.ToList();是錯誤的。WP:如何使用ToList()方法在linq to sql中選擇多個列語句?

  1. 爲什麼我們不能使用「rooms_list = room.ToList()」?

  2. 我們該如何解決問題?

謝謝你教我!

private void btnTest_Click(object sender, EventArgs e) 
     { 
      List<string> rooms_list = new List<string>(); 

      using (LVDatabaseEntities database = new LVDatabaseEntities()) 
      { 
       var room = from x in database.PHONGCHOIs 
          select new { x.TENPHONG, x.MATKHAUPHONG, x.CHUPHONG, x.SOLUONG }; 
       rooms_list = room.ToList(); 
      } 
      MessageBox.Show(rooms_list.Count.ToString()); 
     } 
+0

'the code room.ToList();是錯誤的。* *爲什麼錯了?*您需要[編輯]並添加關於爲什麼代碼失敗的細節。另外'列出 rooms_list =新列表();'你扔掉一個實例。將其更改爲'列表 rooms_list = null;' – Will 2013-03-20 15:33:47

+0

Thanks Will!我現在修復它 – 2013-03-20 16:24:44

回答

0

您的rooms_list = room.ToList()是錯誤的,因爲它不是List類型的字符串。

爲了解決這個問題,首先要創建一個類的房間

class Room 
{ 
    string TENPHONG { get; set; } 
    string MATKHAUPHONG { get; set; } 
    string CHUPHONG{ get; set; } 
    string SOLUONG{ get; set; } 
} 

然後,改變這樣

List<Room> rooms_list = new List<Room>(); 

using (LVDatabaseEntities database = new LVDatabaseEntities()) 
{ 
    var rooms = from x in database.PHONGCHOIs 
        select new Room{ 
    TENPHONG = x.TENPHONG, 
    MATKHAUPHONG = x.MATKHAUPHONG, 
    CHUPHONG = x.CHUPHONG, 
    SOLUONG = x.SOLUONG }; 
    rooms_list = room.ToList(); 
} 
MessageBox.Show(rooms_list.Count.ToString()); 

*未測試代碼。讓我知道是否有什麼不工作

+0

非常感謝nkchandra! – 2013-03-21 01:14:35