如何在 WCF 数据服务中获得内部联接

2024-02-05

假设我有 2 个表,table1 和 table2,具有共享密钥“id”

如果我想使用 sql 对这两个表进行内部联接,我会做类似的事情

select id, x, y, z
from table1
inner join table2
on table1.id = table2.id

我现在得到表 1 中仅在表 2 中出现的行。

我如何获得 wcf 数据服务/odata linq 语法中的等效项?

我期待类似的事情:

var q = (from t in svc.Table1.Expand("Table2")
    where t.Table2.Any()
    select t) as DataServiceQuery<Table1>;

但这让我有一个例外Any().
我试过了.Join这也不支持。 我试过了.Count那也失败了。
.Intersect看起来只需要另一个枚举,所以这看起来不像我想要的......

我想我错过了一些非常明显或简单的东西......

Edit:这似乎是这个的重复如何像 SQL 连接一样使用 OData Expand? https://stackoverflow.com/questions/3920758/how-do-i-use-odata-expand-like-a-sql-join


看看这类问题的答案question http://forums.oreilly.com/content/C-3-0-in-a-Nutshell/21324/Doing-Joins-Between-Odata-Resources-Using-Linqpad/。当前版本的 WCF 数据服务 (OData) 不支持联接,即使您的基础数据协定支持联接(即,例如,如果您分层在实体框架 4 之上)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 WCF 数据服务中获得内部联接 的相关文章

随机推荐