59

EFOjbectSet.Include(a => a.parent)扩展不可用。我知道我可以添加代码来模仿它,但是根据EntityFramework 4 升级到 5,lambda 不可用它应该可用。我有using System.Data.Entity,并且在我的主要项目中升级到 EF 5。

查看 Assembly System.Data.Entity.dll, v4.0.0.0 (C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework.NETFramework\v4.5\System.Data.Entity.dll) 中的元数据

...

public ObjectQuery<System.Data.Common.DbDataRecord> GroupBy(string keys, string projection, params ObjectParameter[] parameters);
public ObjectQuery<T> Include(string path);
public ObjectQuery<T> Intersect(ObjectQuery<T> query);

此处没有声明 Include 的 lambda 变体。我已经检查过,文件版本是 4.0.30319.17929,根据数据库第一代实体框架 5 System.Data.Entity vs EntityFramework。该项目正在生成一个 4.5 程序集。

如果相关,EntityFramework 本身不会在此程序集中引用。它只是有一些数据服务,所以它确实包含对 System.Data.Entity 和主数据层项目的引用。

有任何想法吗?

4

1 回答 1

146

根据MSDN,该方法是在EntityFramework程序集中定义的。(在 EntityFramework.dll 中)

您还需要添加对EntityFramework.dll DLL 的引用。

之后,您需要确保引用了命名空间:

using System.Data.Entity;

于 2013-10-01T19:58:12.007 回答