c# - 使用linq连接2个具有不同结构的表

标签 c# linq union concatenation

我想合并 2 个表并在数据网格中显示所有内容:

  • tblReservation(ID、StartTime、EndTime、SchoolID、AccomodationID)
  • tblMeeting(ID、开始时间、结束时间、主题、地点)

在数据网格中,我有 2 个匹配列(StartTime、EndTime)和 2 个不同的列。我仍然想合并这两个表并为学校/主题设置第 3 列,为住宿/位置设置第 4 列。

在 PHP 中,我知道您可以为使用

获得的字段设置名称
SELECT x AS name

但我对 LINQ 语法不是很熟悉。

在这里,我从我在月历中选择的日期开始从 tblReservation 获取数据:

var vReservation = (from oReservation in clsApplication._oDBConnection.tblReservations
    where oReservation.StartTime.Value.Date >= mcCalendar.SelectionRange.Start.Date
    && oReservation.StartTime.Value.Date < cCalendar.SelectionRange.Start.Date.AddHours(24)
    orderby oReservation.StartTime ascending
    select oReservation);

foreach (var oReservation in vReservation)
{
    build the datagrid
}

如何将另一个表添加到此循环?

最佳答案

在选择中你可以做类似的事情

select new { oReservation.StartTime, oRservation.EndTime };

然后使用传递其他查询的 Union() 扩展方法将它们放在一起 见第二框here举个例子

关于c# - 使用linq连接2个具有不同结构的表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8472011/

相关文章:

mysql - union select and order by 与 mysql

c# - 如何使用 Linq 从 Json 或类对象中查找子元素

c# - 在 XML 文档中查找重复的子节点

c# - 如何使用 LINQ 在函数中定义返回类型?

MySQL/Mariadb 存储过程、准备语句、联合、动态创建的表和列名中的值

python - 字典维恩图的哈希或字典?

c# - VS 2008 c# 预构建事件

c# - 获取包含虚拟目录的 URL?

c# - 为什么 DI 会为两个不同的范围返回相同的 DbContext?

c# - 将可空引用类型转换为不可空引用类型,更简洁