我是否应该避免在查询中使用Include,或者我可以依赖EDM在创建查询时将其从OSM中已存在的查询项中排除?
答案 0 :(得分:2)
我很确定EF4将使用当前在ObjectStateManager中的任何内容,并且只加载它尚未拥有的对象,但最好的方法是使用SQL Profiler运行来测试它,看看是否成立对于你使用它的方式。
当然,EF团队建议使用Include()方法,但如果您选择稍后加载相关行,则ObjectStateManager将执行“关系修复”,这可以是一个非常强大的功能来利用。
查看此博客条目:
http://blogs.msdn.com/alexj/archive/2009/10/13/tip-37-how-to-do-a-conditional-include.aspx
你会在他的博客上找到很多关于实体框架的精彩文章。