VS2013とSQLSvr 2012を使用しており、EFを使用してグリッドビューにデータを入力しようとしています。これは非常に単純なテストであるため、キーと2つのデータフィールドを持つテーブルが1つだけあります。モデルの作成プロセスは正常に機能しているようです。デザイナービューに期待どおりに表示され、ファイルはapp_codeで作成され、binフォルダーは2つのdllで作成され、構成ファイルは接続文字列やその他のエントリで更新されます。
「名前付き接続」を選択しようとすると、「指定されたメタデータリソースを読み込めません」というエラーが表示され、アセンブリを取得するためにプロジェクトを再構築する必要があります。
私はこのような他のケースを読むのに何時間も費やしました、そして私は理解できません:
VS 2010で問題が発生しなかったのに、なぜこれが発生するのか
必要なリソースを指すように接続文字列を修正するにはどうすればよいですか。完全修飾アセンブリ名に関するすべての技術的なアドバイスに完全に迷っています-私が試したものは何も機能しません。
リソースを適切な場所に強制的に配置するためのパラメータを設定するにはどうすればよいですか?私が読んだすべてのアドバイスは、VS2013とあまり関連していないようです
VS2013をアンインストールしてVS2012を使用するかどうかを決定する必要があります。現在、VS2010をASP 4.0で使用しており、ASP 4.5で、通常はMicrosoftテクノロジに対応しています。ただし、バグのあるVSリリースに対処するスキルレベルがありません。このEFの実行は、バグまたはバグが原因である可能性があります。私のコンピューターにいくつかの奇妙な破損があります-どちらが当てはまるのかを理解しようとしています。過去にこれらのツールがなかったクリーンなマシンにVS2013ExpressとSQLSvr2012をインストールしました。
Visual Studioに精通している人が、数分しかかからないので、私の問題を再現してみてください。
MS SQL Serverで、主キーといくつかのデータフィールドを持つ1つのテーブルを持つ小さなDBを作成し、いくつかのテストデータを入力します-TestTable1でTinyDBと呼びます。
VS 2013 Express for Webを使用して、VBを使用して「ASP空のWebサイト」のオプションを使用して「新しいWebサイト」を作成します。
「ADO.Netエンティティデータモデル」を含むASP App_Codeフォルダーを追加し、名前を「モデル」のままにします。
DBからモデルを生成し、Entity Framework 6.0を使用して「TinyDB」の「新しい接続」を作成し、「TestTable1」を選択します。名前空間が「TinyDBModel」であることに注意してください。 [完了]をクリックすると、App_Codeやその他のフォルダーにいくつかのアイテムが生成され、web.configも更新されます。
Default.aspxというWebフォームを追加し、その上にグリッドビューをドラッグします。グリッドビューのデザインモードで、[新しいデータソース]を選択してから[エンティティ]オプションを選択します(default.aspxに表示されるEntityDataSource1の名前に注意してください)。 [次へ]をクリックし、[名前付き接続]の下で[TinyDBEntities]を選択します。ここで、「指定されたメタデータリソースを読み込めません」というエラーが表示されます。
VS 2010でのこの正確な演習は完全に機能し、正しいデータが表示されたグリッドを生成することに注意してください。
残念ながら、EntityDataSourceコントロールは、最新バージョンのEntityFrameworkであるEF6では機能しません。コントロールがVSまたはEFの将来の更新バージョンで更新されることを願っていますが、現時点では2つを一緒に使用することはできません。
いくつかの解決策/代替案があります:
EF 5に戻ります。これを行うには、App_Codeフォルダーから.edmxファイルと.ttファイルを削除し、BinフォルダーからEFアセンブリを削除し、web.configからEFへの参照を削除します。次に、サイトを再構築し、新しいADO.NETエンティティモデルを追加して、[バージョンの選択]ダイアログでバージョン5を選択します。次に、App_Codeフォルダーから.ttファイルを削除し、EDMX診断を開き、空の場所を右クリックして、[プロパティ]グリッドで[コード生成戦略]を[レガシーObjectContext]に設定します。その後、再構築すると、機能するはずです。
モデルバインディングを使用します。これは本当に推奨されるソリューションです。 Microsoft/EFチームは、EntityDataSourceコントロールから離れて、動的データWebサイトにのみ使用することを推奨しています。モデルバインディングが推奨されるソリューションです。非常にクリーンで簡単に使用でき、クエリとオブジェクトの更新を細かく制御できます。モデルバインディングの詳細については、以下を確認してください: http://www.asp.net/web-forms/tutorials/data-access/model-binding/retrieveing-data