![]() |
1
81
匿名类型的解决方案应该可以正常工作。林克 可以 只表示equijoin(无论如何都有join子句),实际上,这就是您所说的,您无论如何都希望基于原始查询表达的内容。 如果出于某种特定的原因,您不喜欢匿名类型的版本,那么应该解释这个原因。 如果你想做你最初要求以外的事情,请举例说明 真的? 想做。 编辑:回答问题中的编辑:是的,要进行“日期范围”联接,您需要改用WHERE子句。它们在语义上是等价的,所以这只是可用的优化问题。Equijoin通过创建基于内部序列的查找来提供简单的优化(在对象的LINQ中,其中包括LINQ到数据集),将其视为从键到匹配该键的条目序列的哈希表。
使用日期范围执行此操作有些困难。然而,根据你所说的“日期范围连接”的确切含义,你可能会做些什么
类似的
-如果您计划创建日期的“带区”(例如每年创建一个),使同一年(但不是同一日期)中发生的两个条目匹配,那么您可以只使用该带作为键来创建。如果更复杂,例如连接的一侧提供了一个范围,而连接的另一侧提供了一个单一的日期,如果该日期在该范围内,则最好使用
|
![]() |
2
114
|
![]() |
3
64
如果两个实体中的列名不同,则需要执行此操作。 |
![]() |
4
45
只需使用等效方法链语法完成此操作:
当最后一个论点
|
![]() |
5
27
我认为更具可读性和灵活性的选择是使用where函数:
这还允许通过附加.defaultifempty()轻松地从内部联接更改为左联接。 |
![]() |
6
9
|
![]() |
7
7
使用join运算符只能执行equijoin。可以使用其他运算符构造其他类型的联接。我不确定使用这些方法或通过更改WHERE子句,您尝试执行的确切联接是否更容易。可以找到有关join子句的文档 here . MSDN有一个 article on join operations 还有到其他连接示例的多个链接。 |
![]() |
8
7
你可以做一些类似的事情(如下)
|
![]() |
9
1
如果实体中的字段名不同
|
![]() |
10
1
作为一个完整的方法链,如下所示:
|
![]() |
11
-1
声明一个类(类型)以保存要联接的元素。在下面的示例中,声明 连接元素
|
![]() |
12
-2
这对我有用 |
![]() |
M S · 显示加入两个表的所有可用视频 2 年前 |
![]() |
neeh · 为每个父记录选择具有条件的子记录数[重复] 3 年前 |
![]() |
J. Krajewski · 如何计算具有给定成员的组的行数? 3 年前 |
![]() |
VickyBoy · 我试图用3个以上的表构建一个查询,其中数据分散在 3 年前 |
![]() |
newGuy101 · 如何将SQL子查询转换为Join子句? 3 年前 |
![]() |
user18797786 · Fuzzy Wuzzy和另一列的条件 3 年前 |
![]() |
Python learner Shaavin · 在解码过程中保留空间 3 年前 |
![]() |
Marvin · 在MySQL视图中左键连接 3 年前 |