[.net] 失われたエンティティフレームワークインクルード(ラムダ)拡張


Answers

Question

EF OjbectSet.Include(a => a.parent)拡張は使用できません。 私はそれを模倣するためのコードを追加することができますが、 5にアップグレードされたEntityFramework 4によれば、ラムダは利用可能ではありません。 using System.Data.Entityてい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のラムダバリアントの宣言はありません。 私はチェックして、 データベースの第1世代のEntity Framework 5 System.Data.Entity対EntityFrameworkごとにファイルのバージョンが4.0.30319.17929であることを確認しました。 プロジェクトで4.5アセンブリが生成されています。

関係がある場合、EntityFramework自体はこのアセンブリでは参照されません。 それは単にいくつかのデータサービスを持っているだけなので、System.Data.Entityへの参照とメインデータレイヤプロジェクトを含みます。

何か案は?




Links