【发布时间】:2013-09-19 12:41:15
【问题描述】:
当我调查Include 和Join 之间的区别时,我发现:
如果数据库不包含外键 - 它没有导航道具,所以最好使用Join
如果它确实有导航道具 - 然后使用Include。 (它还保存了一个数据库命中。)
但是一个answer here引起了我的注意:
Include 被实现为连接。 取决于可空性 包含的链接是 inner 或 left 连接。
问题:
nullity 如何影响左/内连接?
在 Sql server 中,我可以有一个Cities 表和Persons 表,一个人可以有一个NULL CityID。
为什么实体框架会为我决定它是什么样的加入?
编辑:可视化:
现在让我们将 CityId 更改为不为空:
这是变化:
【问题讨论】:
标签: c# linq entity-framework .net-4.0 linqpad