使用Entity Framework时,Linq中的expand和include有什么区别?
答案 0 :(得分:3)
Expand
扩展方法来自WCF数据服务(以前称为ADO.net数据服务),它与数据库和ORM无关。它不关心你是否使用实体框架,LINQ to SQL,nHibernate等。它不会创建表连接,只能处理内存中加载的现有数据,因为它是更高级别的抽象。
Include
来自实体框架,并且已针对在数据库级别创建正确的连接进行了优化。
在内部,如果您对实体框架管理的实体使用Expand
,则最终可能会使用Include
的重载版本。
通常,除非您使用的是WCF,否则您应该使用Include
。