1

私はMVC-4を練習するためにこのチュートリアルに従っています:http ://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/adding-a-new-field-to-the -映画モデルとテーブル

私は同じ例をしていません。私はそれを自分の何かを試すためのガイドラインとして使用しています。

私はこの問題に遭遇しました:

パッケージマネージャーコンソールを開いた後

コンテキストで移行を有効にしようとすると、次のエラーが発生します。

PM> Enable-Migrations -ContextTypeName MvcAuction.Models.AuctionDBContext
Enable-Migrations : A parameter cannot be found that matches parameter name 'ContextTypeName'.
At line:1 char:35
+ Enable-Migrations -ContextTypeName <<<<  MvcAuction.Models.AuctionDBContext
    + CategoryInfo          : InvalidArgument: (:) [Enable-Migrations], ParameterBindingException
    + FullyQualifiedErrorId : NamedParameterNotFound,Enable-Migrations

これをどのように解決できるかについてのアイデアはありますか?

4

11 に答える 11

3

Update-Database:パラメーター名'ConfigurationTypeName'に一致するパラメーターが見つかりません。行:1文字:17

パラメータ名が一致しないこのようなエラーは、コマンドのバージョンがそのパラメータをサポートしていないことを示しています。VSプロジェクトにインストールされているEFツールのバージョンが原因である可能性があります。私の場合、2つのプロジェクトがあります。1つはEF 6.xで、もう1つはEF Coreがインストールされており、明らかにEFコアが優先されるため、EF 6.XIを使用する場合は、EntityFramework\Update-DatabaseとEntityFrameworkCore\Update-Databaseを使用する必要がありました。

于 2019-06-08T20:12:36.323 に答える
2

将来同じ問題に遭遇するかもしれない人のために。-ContextTypeNameなしでEnable-Migrationsを使用するだけで、すでに解決しました。

于 2012-10-22T07:07:44.320 に答える
2

私も同じ問題を抱えていました。NuGetを介してEntityFrameworkをバージョン5.0.0にアップグレードすることで修正しました。EntityFramework.5.0.0で問題が発生した場合は、再インストールしてみてください。

于 2013-03-12T09:05:55.963 に答える
2

同じ問題が発生しましたが、Nuget Package Managerコンソールのドロップダウンメニューでプロジェクトを選択し、完全修飾パスを削除することで、プロジェクトを機能させることができました。

PM> Enable-Migrations -ContextTypeName ApplicationDbContext
于 2018-02-23T14:03:44.887 に答える
1

"Enable-Migrations -ContextTypeName MvcMovie.Models.MovieDBContext"

MvcMovieがMvcYourApplicationNameに変更されます。

于 2013-07-03T06:49:23.413 に答える
0

パラメータ名'ContextTypeName'に一致するパラメータが見つかりません。

そのパラメーターが実装されていない古いバージョンのEntityFramework(4.3?)を使用しているように見えます。私のために働き、私はEF5を使用します。

PM> enable-migrations-contexttypenametest3.Models.UsersContextコンテキストが既存のデータベースを対象としているかどうかを確認しています...プロジェクトtest3でコードファースト移行が有効になっています。

于 2012-11-18T22:49:57.723 に答える
0

「迅速で汚い」ASP.netWebサイトで作業しているときに、これとまったく同じエラーが発生しました。

ASP.Net Webサイトでは、ページ以外のクラスはApp_codeディレクトリに配置されます。それらは、別個のアセンブリを形成するためにコンパイルされます。

パッケージマネージャーがこの「App_Code」アセンブリでコンテキストタイプ名を見つけることを管理しなかった(!)可能性があります(エラーメッセージは奇妙に見えます)。

モデルとコンテキストクラスを別のクラスライブラリプロジェクトに移動することで、問題を解決しました。

  • 機能した
  • それははるかにきれいでした

MVC 4の問題が何であるかはわかりませんが、私の経験は別のWebフォーム開発者に役立つ可能性があります...

于 2015-03-15T17:37:41.070 に答える
0

編集:コンテキストタイプが存在しないか、モデルの名前空間の下に配置されていないようです。

構文は

Enable-Migrations -ContextTypeName NameOfYourDataContextType

NameOfYourDataContextTypeは、コントローラーを追加するときに追加するコンテキストです。

したがって、次のように全体を入力します。

ここに画像の説明を入力してください

または、表示されている既存のものを使用します。

ここに画像の説明を入力してください

それはそのようになります

Enable-Migrations -ContextTypeName MvcApplication4.Models.MvcApplication4Context

Enable-Migrations -ContextTypeName MvcApplication4.Models.ExternalLogin

構文:Enable-Migrationsは、プロジェクトにコンテキストが1つしかない場合にのみ機能します。

このチュートリアルを受講すると、この問題に遭遇しました

于 2015-04-21T07:42:21.263 に答える
0

他の解決策を試した後もまだ苦労している人のために。

VSの再起動、VSの更新、およびPCの再起動を2時間無駄にした後。gitブランチを変更してから移行を追加することで、最終的にこれを解決しました。

于 2020-12-28T18:17:51.260 に答える
0

Z.EntityFramework.Plus.EFCoreパッケージを削除すると、パッケージの問題が解決しました

于 2021-04-01T15:43:39.103 に答える
0

移行の有効化は廃止されました。次のように追加できます。
EntityFrameworkCore\Add-Migration yourMessageHere -Context AppContext

于 2021-10-01T10:24:33.357 に答える