C# 理解引擎盖下的EF。包含vs联接
我在实体框架上工作了一段时间,但它在引擎盖下的工作方式仍然存在一些“黑洞”。即使读了几篇文章,我也不确定我的理解是否正确C# 理解引擎盖下的EF。包含vs联接,c#,performance,entity-framework,C#,Performance,Entity Framework,我在实体框架上工作了一段时间,但它在引擎盖下的工作方式仍然存在一些“黑洞”。即使读了几篇文章,我也不确定我的理解是否正确 让我们从问题开始: EF Include如何在引擎盖下工作 Join和Include之间有什么区别 性能问题包括(延迟加载与急切加载、生成的SQL查询等) 什么时候我应该使用Join来代替Include,反之亦然 通过linq或lambda表达式查询EF时,如果基础架构不提供FKs,则只需要join语句,因此对象上没有导航属性 另一方面,include(即时加载)和laz
让我们从问题开始:
- EF Include如何在引擎盖下工作
- Join和Include之间有什么区别
- 性能问题包括(延迟加载与急切加载、生成的SQL查询等)
- 什么时候我应该使用Join来代替Include,反之亦然
如果您提前知道需要整个resultset的联接数据,那么即时加载可能会提高性能。我建议您自己试验看看。谢谢您的回答,但仍然需要更精确的答案。如果您手动添加了导航属性而没有基础外键,该怎么办。是否包括预期的工作?