-1

MVC 4 プロジェクトのModels フォルダーにある EF モデルを使用して、次のようにProdという名前のコード化されたクラスとコントローラー メソッドを使用して、レーザー ビューにデータを表示することに成功しました。

public ActionResult Index()
{
    IEnumerable<Prod> Pr = from p in db.Products
                                    select new Prod
                                    {
                                        ProductId = p.ProductID, 
                                        ProductName = p.ProductName
                                    };
    return View(Pr); 
}

現在、現在のモデルではなくクラス ライブラリのモデルを使用して同じことをしようとしているので、ソリューションに新しいクラス ライブラリを追加し、次に同じ接続文字列を使用してモデルを追加し、同じエンティティをマッピングしてから、 MVC プロジェクトに新しいクラス ライブラリへの参照を追加し、MyControllerProdクラスの両方の先頭に次のものを配置しました。

using MyClassLibrary;

次に、古いモデルを削除しました。ビューを表示しようとすると、次のエラーが表示されます。

指定されたメタデータ リソースを読み込めません。

何か助けてください?

4

3 に答える 3

1

プロジェクトを移動または名前変更する場合、データコンテキスト(.edmx)はEntity Framework接続文字列のメタデータ部分にあり、変更する必要があります

あなたは持ってみることができます

connectionString="metadata=res://*/MyModel.csdl|res://*/MyModel.s‌​sdl|res://*/MyModel.msl;

それ以外の

connectionString="metadata=res://*/Models.MyModel.csdl|res://*/Models.MyModel.s‌​sdl|res://*/Models.MyModel.msl;

または、コンテキストを削除して再作成してから、自動的に追加される接続文字列を確認してください。

于 2013-03-08T14:00:09.137 に答える
0

接続文字列でデータソースに言及する必要があります。

ビューに他の web.config ファイルを使用していない場合。汎用の web.config ファイルを使用し、新しいデータソース名、ユーザー、およびパスワードを使用して接続文字列をアップロードします。

于 2013-03-08T13:47:26.540 に答える
0

Mc4 Web プロジェクトの web.config に接続文字列を配置する必要があります

于 2013-03-08T13:39:29.297 に答える