Linq中expand和include有什么区别?

时间:2014-06-30 08:42:13

标签: .net linq entity-framework

使用Entity Framework时,Linq中的expand和include有什么区别?

1 个答案:

答案 0 :(得分:3)

Expand扩展方法来自WCF数据服务(以前称为ADO.net数据服务),它与数据库和ORM无关。它不关心你是否使用实体框架,LINQ to SQL,nHibernate等。它不会创建表连接,只能处理内存中加载的现有数据,因为它是更高级别的抽象。

另一方面,

Include来自实体框架,并且已针对在数据库级别创建正确的连接进行了优化。

在内部,如果您对实体框架管理的实体使用Expand,则最终可能会使用Include的重载版本。

通常,除非您使用的是WCF,否则您应该使用Include