1

テスト マシン (VS2012 と SQL Server 2008 のみがインストールされている) で VS2012 の既存の .NET 4.0 ソリューションを試していますが、インクルード拡張メソッドでラムダ構文を使用しようとすると、上記のエラーが発生します。

ソリューションの既存のバージョンには、Include メソッドを使用するために追加する必要があった EntityFramework.dll への参照がありますが、VS2012 で見ているアップグレードされたバージョンにはそのような参照がなく、見つけることもできませんその名前の DLL が、他のマシン上にあった場所にあります。System.Data.Entity の using ステートメントは、ReSharper が必要ないと判断したため、グレー表示されています。理由がわからない。

サンプル コード: これは既存のソリューションにあるものです...

using (var context = new RSSFeedsEntities()) {  
  WebSite someSite = context.WebSites.Include(w => w.Feeds).FirstOrDefault(w => w.WebSiteID == 1);  
}

これを解決する方法はありますか?ありがとう

4

1 に答える 1

2

あはは!答えが見つかりました。

Microsoftは、彼らの知恵で、(私の意見では)Entity Frameworkを開発ラックの他のビットのようにインストールしないという(私の意見では)やみくもに愚かな決定を下しましたが、代わりに最近のバージョンをNuGetパッケージとしてのみ利用可能にしました。EFをコーンにインストールしてすぐに利用できるようにする代わりに、ソリューションごとにEFを個別にインストールする必要があるため、いったいなぜ彼らがこれを行ったのかは私にはわかりません。

とにかく、NuGetパッケージマネージャーを使用してEF 5.0をインストールしたところ、エラーは解消されました。

これが誰かを助けることを願っています。

于 2012-10-11T22:18:12.350 に答える