如何使用Linq To Sql查询在我的情况下显示数据?

时间:2011-06-08 08:53:31

标签: c# linq-to-sql

我在使用Linq编写查询时遇到问题我更好地解释了我的情况,我有一个包含2个表的数据库如下:

这是第一张表;

  • 酒店

  • HotelID(Nvarchar(10) - PK)

  • 酒店名称(Nvarchar(200))

这是第二个表格;

  • 期间

  • PeriodID(Int(inc) - PK)

  • _From(Datetime)
  • _To(Datetime)
  • HotelID(Nvarchar(10) - FK)

然后在第二个表(Period)中有FK(HotelID)来连接2个表; 发生的某个时候我有一个获得更多句点的PeriodName(PeriodID)所以我的目的是将数据显示在DataGrid中只有一行,我给你一个例子,因为我想在我的DataGrid中显示数据,如果有更多句点同一酒店名称:

|酒店名称|来自|到|从(2)|至(2)|从(3)|至(3)|从式(4)|至(4)|


| Excelsior | 12/5/10 | 3/6/10 | 2/8/10 | 9/9/10 | 23/9/10 | 10年1月10日| 11年2月11日| 1/12/10 |

所以我想问你对如何使用Linq To Sql在一行内的DataGrid中显示数据有任何想法/建议吗?

非常感谢你的关注。

玩得开心。

干杯

1 个答案:

答案 0 :(得分:2)

本文介绍如何使用分层数据绑定:http://msdn.microsoft.com/en-us/library/aa478959.aspx

然后,创建一个大致映射到数据库表的对象模型:

Hotel
 - ID
 - Name
 - Bookings
  - Booking 1 { From, To }
  - Booking 2 { From, To }
  - Booking n { From, To }

你的Linq应该是这样的:

var hotels = _db.Hotel.Select();

foreach(var hotel in hotels)
    hotel.Bookings = _db.Period.Where(x => x.HotelId == hotel.HotelId).Select();