0

使用 EF,如果您在选择投影中导航到单个相关实体(例如从多对一或 1 对 1/0 的多面),它将合并空值并为您提供左连接:https ://stackoverflow.com/a/2525950/84206

由于它发生在项目中而不是连接中,EF 做出了一个非常合理的假设,即需要左连接。但是,我还没有找到在 LINQ 中使用 LLBLGen 完成此任务的方法。上述技术使用 LLBGen 生成内部连接。我不能使用使用 DefaultIfEmpty 的技术,因为这仅在导航到多关系时可用。

我希望避免使用 WithPath/Prefetch,因为我真的很想在 LINQ 中进行投影,而不是将一个巨大的对象图抓取到内存中并在内存中进行投影。

这是 LLBLGen 3.5。

4

1 回答 1

1

如果 FK 可以为空,则连接将是左连接。如果 FK 不可为空,则它将是内部联接。这是确定您想要什么的唯一方法,因为 Linq 缺少任何其他系统来指定此连接类型。您的链接也必须使用可为空(可选)的 FK 端才能获得左连接。

如果没有任何帮助,请使用 queryspec,查询 api 将允许您在任何情况下指定连接类型。

ps:请下次在我们的论坛发帖,我们不会每天都监控SO,但我们会监控我们的论坛。

于 2013-08-15T19:53:45.140 回答