我正在尝试在 Linqpad 中进行一个简单的连接查询,以模仿以下内容...
SELECT *
FROM Companies C
JOIN Addresses A
ON A.CompanyID = C.CompanyID
WHERE C.CompanyID = 123
Run Code Online (Sandbox Code Playgroud)
我正在使用 C# 表达式(所以不需要转储,AFAIK),并尝试了以下失败......
from C in Companies
join A in Addresses on C.CompanyID equals A.CompanyID
where C.CompanyID = 123
select C,A
Run Code Online (Sandbox Code Playgroud)
所以结果是 "name does not exist in current context"
我怀疑这可能是因为两个表中的公共字段,或者 C,A 语法基本上是错误的。
我希望能够在两个表中都执行 splat "*"。这可能吗?
我相信你的选择应该看起来像
select new { C, A }
Run Code Online (Sandbox Code Playgroud)
或者
select new { Company = C, Address = A }
Run Code Online (Sandbox Code Playgroud)
由于您要返回多个复杂对象,因此应该用匿名类型包装它。或者你可以定义你的类型,然后像这样设置属性
select new MyType { Company = C, Address = A }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5747 次 |
| 最近记录: |