2012-03-26 20 views
0

私はMVC 3を初めて使用しています。私がしようとしていることは、既存のDBとCRUDインターフェイスを作成することだけです。私はエラーを受け取り続けるASP.net MVC 3 EntityType 'PaMap'にキーが定義されていません

One or more validation errors were detected during model generation: 

\tSystem.Data.Entity.Edm.EdmEntityType: : EntityType 'PaMap' has no key defined. Define the key for this EntityType. 
\tSystem.Data.Entity.Edm.EdmEntitySet: EntityType: EntitySet 'PaMaps' is based on type 'PaMap' that has no keys defined. 

私が扱っているDBには3つのフィールドがあります。 PA_ID MS SQL SERVERで定義したプライマリキーで、実際に定義されたことを確認するために複数回更新されました。プライマリキーにIDのIDが含まれていない限りMVCがうまくいかないことがあることを読んだあと、_ID部分を追加しました。この後、私は救われたが、まだ運がない。カテゴリと名前は、表の他の2つの列です。私はコードの最初のメソッドを使用しているので、PaMapクラスでgetterとsetterをインスタンス化しました。また、[key]メソッドを使用して、PaMapクラスのプライマリキーを設定しようとしました。私が得るのは別のエラーです

"無効なオブジェクト名 'dbo.PaMaps'"です。

私もこのエラーの答えを検索し、私は見つけることができるすべてが検索を行うと、DBOのために交換することで、私はそれをやったし、それがDBOに使用されるが、一度、私はプログラムDBO削除唯一のスポットがありましたもはや実行されません。

DBから何かを表示できたらうれしいですが、現時点では、MVCは主キーが定義されていないと私の顔に嘘をついています。

問題をより迅速に診断できる場合は誰でもコードを表示できますか?私は運がないこの質問への答えのためにほとんどどこでもオンラインで見てきました。ご協力いただきありがとうございます!私はSQL ServerのCompact EditionのでMVC3コードファーストを設定するために見つけた

+0

web.configにはデータベース接続のために何がありますか? SQL Server Compact Editionまたは他のバージョンのSQL Serverを使用していますか? –

+0

私はMicrosoft SQL Server R2 2008を使用しています。返信いただきありがとうございます。それらの例を使って作業し、今日後で再び投稿します。 – Goldentp

+0

私はジェニファーについて不幸にも、私がそれを混乱させたので、またはMS SQL Server 2008を使用しているためです。http://msdn.microsoft.com/en-us/data/gg685489で別のチュートリアルを見つけることができました。これは私のMS SQL Server 2008のDBと実際にはDBからリスト形式でデータを表示するために働いていましたが、編集と削除の方法を理解する必要があります。あなたの助けをもう一度ありがとう! – Goldentp

答えて

1

最良の例は、ここではチュートリアル2のとおりです。

http://weblogs.asp.net/scottgu/archive/2011/01/11/vs-2010-sp1-and-sql-ce.aspx

とデータ移行を設定するため、この投稿へ:

http://blogs.msdn.com/b/adonet/archive/2012/02/09/ef-4-3-code-based-migrations-walkthrough.aspx

これらは、これは今EntityFrameworkの一部であることから、ステップ2をスキップし、スコット区のチュートリアル2では、製品の異なるバージョン..(上記トップリンク)で書かれていましたこれはすべてのMVC 3プロジェクトで参照されます。手順7に進むと、使用しているSQL Server Compact Editionのバージョンによっては、Edm Metadataテーブルが存在しないことがあります。お使いのバージョンにMigrationsテーブルがある場合は、単に削除しないでください。あなたはそれを必要とするでしょう。

これは私がこれを学んだときに見いだすことができる最良の例でしたので、これが役立つことを願っています。