3

ContosoUniversity の例を使用しています。Nuget を使用して、コード ファーストの移行パッケージをダウンロードしてインストールしました。コマンドを実行update-databaseすると、エラーがスローされます。nuget パッケージをインストールする以外に何かすることはありますか?

Update-Database : Could not load type 'System.Data.Entity.Infrastructure.DbContextInfo' from assembly 'EntityFramework, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.
At line:1 char:16
+ update-database <<<< 
    + CategoryInfo          : NotSpecified: (:) [Update-Database], TypeLoadException
    + FullyQualifiedErrorId : System.TypeLoadException,System.Data.Entity.Migrations.Commands.MigrateCommand

編集、 インストールが完了ADO.NET Entity Framework 4.1 - Update 1 しましたが、エラーがスローされます

Update-Database : The project 'ContosoUniversity' does not contain or reference any contexts.
At line:1 char:16
+ update-database <<<< 
    + CategoryInfo          : NotSpecified: (:) [Update-Database], InvalidOperationException
    + FullyQualifiedErrorId : System.InvalidOperationException,System.Data.Entity.Migrations.Commands.MigrateCommand

Microsoft ブログのシナリオを試しましたが、何も変わりませんでした。( http://blogs.msdn.com/b/adonet/archive/2011/07/27/code-first-migrations-august-2011-ctp-released.aspx )

4

2 に答える 2

4

msiをインストールしてみてください。

http://www.microsoft.com/download/en/details.aspx?id=26825

2 番目のエラーは、プロジェクト内のコンテキストの識別に問題があるように聞こえます。DbContext から継承するクラスがあることを確認してください。

プロジェクトが正しいバージョンの Entity Framework - 4.1 Update 1 を参照していることも確認します。プロジェクトの種類によっては、プロジェクト内の References フォルダー内で問題の参照を見つけることができるはずです。[すべてのファイルを表示] ボタン (ソリューション エクスプローラーの上部にあるツールバーの左から 2 番目) をクリックする必要がある場合があります。

参照を選択すると、DLL のパスやそのバージョンなどの情報が [プロパティ] ペインに表示されます (まだ表示されていない場合は F4 キーを押します)。

編集: 以下の JTew によると、Visual Studio の再起動が必要です。

于 2011-08-11T05:11:05.890 に答える
1

同じエラーが発生しました。

私が持っていた:

  • .msi 経由で EF 4.1 (古いバージョン) をインストール
  • NuGet 経由で新しいバージョン (EF 4.1 Update 1 Migrations Alpha 3) をインストールしました

このエラーは、フレームワークが GAC から古い 4.1.0.0 を取得していたため、不平を言っていることが判明しました。

古い EF 4.1 をアンインストールするとうまくいきました。

于 2011-10-15T23:43:27.457 に答える