【发布时间】:2013-10-08 02:38:59
【问题描述】:
EF OjbectSet.Include(a => a.parent) 扩展不可用。我知道我可以添加代码来模仿它,但根据EntityFramework 4 upgraded to 5, lambda is not available 它应该是可用的。我有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,根据 Database first generation Entity Framework 5 System.Data.Entity vs EntityFramework 。该项目正在生成一个 4.5 程序集。
如果相关,EntityFramework 本身不会在此程序集中引用。它只是有一些数据服务,所以它确实包含对 System.Data.Entity 和主数据层项目的引用。
有什么想法吗?
【问题讨论】:
-
你的代码文件顶部有
using System.Data.Entity吗? -
是的。我会在上面的 cmets 中更清楚地说明这一点。谢谢汗。
-
如果你加载了一个类似的项目,你能告诉我你看到的“包含”的元数据吗?
-
ReSharper 在构建 lambda 包含时不会自动识别您需要使用 System.Data.Entity,它必须手动添加或由其他进程添加。
-
JabberwockyDecompiler - 你为我节省了一天。再次,信任太多,甚至不认为我需要参考
using System.Data.Entity。原来我确实做到了!再次感谢 - +1 您的评论
标签: .net entity-framework lambda