【问题标题】:SQL / Linq Join two tables and join date and time into single querySQL / Linq 连接两个表并将日期和时间连接到单个查询中
【发布时间】:2015-06-26 15:01:56
【问题描述】:

我有两个如下所示的表格。 SessionBooking.Date 是一个日期字段,TimeSlot.StartTime 是一个时间字段。

表架构:

您可以在下面看到当前查询我已成功加入两个表,但是我需要将日期和开始时间加入单个“日期时间”字段,以便我可以按日期时间(当前日期和时间)排序

我该怎么做,以及如何用 Linq to SQL 编写。

到目前为止我有这个(不包括加入)

List<SessionBooking> bookings = db.SessionBookings.Where(m => m.MemberId == this.Id && m.LocationId == this.HomeLocationId && m.Date >= currentDate).OrderByDescending(m => m.Date).ThenBy(m => m.TimeSlot.StartTime).Take(limit).ToList();

【问题讨论】:

  • 我觉得你的系统设计不好。从概念上讲,日期和时间应始终存储在一起。您的“时间段”概念根本不应该在您的数据库中,而应该由您的业务逻辑层处理。
  • 按日期和时间排序有什么问题?
  • 您可以简单地添加日期和时间来创建日期时间变量。见stackoverflow.com/questions/3142547/…
  • 另外,总是更喜欢明确的JOIN 语法而不是FROM x, y 语法。

标签: c# sql linq


【解决方案1】:

试试这样的SELECT a.Date + b.time

FROM [eMart].[dbo].sessionBooking 作为一个
join Timeslot as b on a.id = b.id

【讨论】:

  • 你不能那样做。此外,问题是如何在 LINQ 中做到这一点。请尝试改进您的答案。
猜你喜欢
  • 2016-05-27
  • 1970-01-01
  • 2020-11-10
  • 2014-08-08
  • 2019-01-03
  • 1970-01-01
  • 1970-01-01
  • 2017-07-05
相关资源
最近更新 更多