エンティティフレームワーク7、ビジュアルスタジオ2015、コンソールコマンドが機能しない

asp.net-core-mvc c# entity-framework-core visual-studio-2015

質問

私は個々のユーザーアカウントを持つASP.NET 5 Webアプリケーションテンプレート(EF7とMVC 6を使用しています)を使用しています。次の問題があります。

私自身のDBSetをApplicationDbContextクラスに追加し、この新しいDBSetを使用しようとしているページに行くと、動作しません。

A database operation failed while processing the request.
SqlException: Invalid object name 'WallMessageModel'. 

There are pending model changes for ApplicationDbContext
Scaffold a new migration for these changes and apply them to the database from the command line:

 dnx . ef migration add [migration name] 
 dnx . ef migration apply

今私はこれらのコマンド、または任意の "dnx"コマンドを実行すると私は得る:

CategoryInfo          NotSpecified: Error: Unable t...stemindsWebsite:String, RemoteException    FullyQualifiedErrorId : NativeCommandError

そして、もし私が "k"コマンドを実行しようとすると、

CategoryInfo          : ObjectNotFound: k:String, CommandNotFoundException    FullyQualifiedErrorId : CommandNotFoundException

私は"EntityFramework.SqlServer": "7.0.0-beta5", "EntityFramework.Commands": "7.0.0-beta5"を使用してい"EntityFramework.SqlServer": "7.0.0-beta5", "EntityFramework.Commands": "7.0.0-beta5"

私は7.0.0- *バージョンを使用してみましたが、それでも私のためには動作しません。私は何が間違っているのか教えていただけますか?

基本的には、EFコマンドが私のマシンに正しくインストールされていないと思います(Visual Studio 2015 / PowerShell経由)。しかし、インストールされているものを入手する方法を示すリファレンスはないようです(EF7を使用してVS2015に組み込むべきではありませんか?)。

受け入れられた回答

別のDbSetをApplicationDbContextクラスに追加するか、他の既存のエンティティクラスを追加/変更すると、ランタイムモデルはデータベースモデルから変更されます。したがって、新しい移行を足場にしてデータベースに適用して、両方のモデルが互いに同期するようにする必要があります。例外メッセージが示唆するように、そうするためにそれらのコマンドを実行する必要があります。

これらのコマンド(または他のdnxコマンド)が実行されていない場合、dnxコマンドはVS2015に組み込まれていません。 Visual StudioのためのMicrosoft ASP.NETとWeb Tools拡張から来ています。 VS用にインストールされていることを確認してください。これにより、dnxコマンドを実行できます。 kは非常に古い用語で、 dnxに名前が変更されdnx 。またbeta5は古いバージョンです。最新バージョンはRC1です。これはさらに多くの機能を備えています。 Web Toolsのインストール方法と使用方法の詳細については、 https://get.asp.net/を参照してください。



Related

ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ