我有一个组连接的查询:
foreach (var item in someList)
{
var result = (from t1 in someContext.Table1
join t2 in someContext.Table2 on new { t1.SomeID, item.SomeName} equals new {t2.SomeID, t2.SomeName} into j1
...
}
Run Code Online (Sandbox Code Playgroud)
我想知道是否可以按上述方式加入群组?
new { t1.SomeID, item.SomeName} equals new {t2.SomeID, t2.SomeName}
Run Code Online (Sandbox Code Playgroud)
item.SomeName 来自我正在迭代的列表.
如果没有,我将如何更改语句以获得所需的结果?
Adr*_*ode 24
与equals表达式一起使用的属性类型必须匹配.因此,例如是Table1.SomeID是Int32和Table2.SomeID是Nullable<Int32>,然后他们不匹配.
编辑
foreach (var item in someList)
{
var someName = item.SomeName;
var result = (from t1 in someContext.Table1
join t2 in someContext.Table2 on
new { t1.SomeID, SomeName = someName}
equals new { t2.SomeID, t2.SomeName} into j1
...
}
Run Code Online (Sandbox Code Playgroud)
还要检查item.SomeName与t2.SomeName的类型相同
小智 12
在这种情况下,您必须确保两个新匿名对象的属性和类型相同.我通常会给出特定的属性名称.
例:
var result = from t1 in someContext.Table1
join t2 in someContext.Table2 on
new { SomeID = t1.SomeID, SomeName = someName} equals
new { SomeID = t2.SomeID, SomeName = t2.SomeName} into j1
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
21575 次 |
| 最近记录: |