Подтвердить что ты не робот

Расширение пропущенного объекта Entity Framework (lambda)

Расширение EF OjbectSet.Include(a => a.parent) недоступно. Я знаю, что могу добавить код, чтобы имитировать его, но согласно EntityFramework 4 обновлен до 5, лямбда недоступна, он должен быть доступен. У меня есть 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. Я проверил и версия файла 4.0.30319.17929, как База данных первого поколения Entity Framework 5 System.Data.Entity vs EntityFramework. Проект создает сборку 4.5.

В случае, если это актуально, сама EntityFramework не упоминается в этой сборке. Он просто имеет некоторые службы данных, поэтому он включает ссылки на System.Data.Entity и основной проект уровня данных.

Любые идеи?

4b9b3361

Ответ 1

Согласно MSDN, метод определен в сборке EntityFramework. (в EntityFramework.dll)

Вам также нужно добавить ссылку на DLL EntityFramework.dll.

Затем вам нужно убедиться, что вы ссылаетесь на пространство имен:

using System.Data.Entity;