0

我使用 select 语句 LINQ to SQL 从表中选择了 4 列。然后我创建一个新列表来存储查询结果。但是,代码room.ToList(); 是错的。

  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());
        }
4

1 回答 1

0

您的 rooms_list = room.ToList() 是错误的,因为它不是字符串类型的列表。

要解决这个问题,首先为房间创建一个类

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());

*未经测试。让我知道是否有任何问题

于 2013-03-20T18:00:15.627 回答