gpt4 book ai didi

c# - LINQ 使用点符号和多个连接字段连接

转载 作者:太空宇宙 更新时间:2023-11-03 13:54:51 27 4
gpt4 key购买 nike

我想知道在通过多个字段连接两个表时如何在 Linq 中编写内部连接。

例如,假设这是等效的 SQL:

SELECT tableOne.fieldThree

FROM table_One AS tableOne,
table_Two AS tableTwo,
WHERE
tableOne.fieldOne == tableTwo.fieldOne AND
tableOne.fieldTwo == tableTwo.fieldTwo;

我试过这个:

tableTwo.Join(tableOne,
two => new { two.fieldOne, two.fieldTwo },
one => new { one.fieldOne, one.fieldTwo },
(two, one) => one.fieldThree)
.ToList();

但是编译器显示一个错误,表明无法从用法中推断出该方法。

谢谢。

最佳答案

您的方法很好并且会奏效。您只需要修复编译器错误。您查询中的两个匿名类型可能不是同一类型。如果更改字段的顺序,或者它们的类型不完全匹配,则很容易发生这种情况。

不过,这是一个 C# 问题。一旦你通过了你的 ORM 将支持它。

关于c# - LINQ 使用点符号和多个连接字段连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12586765/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com