1

この質問に続いて、PowerToolsを使用するEntityFrameworkリバースエンジニア-主キーなし

Entity Framework Power Tools Beta 2を使用してデータベースをリバースエンジニアリングしました。これにより、多数のPOCOと、エンティティマッピングを含むマッピングフォルダーが作成されました。

[コントローラーの追加]ダイアログを使用してコントローラーを作成しようとすると、次のメッセージボックスが表示されます。

クルーズモデルのメタデータを取得できません。モデルの生成中に1つ以上の検証エラーが検出されました:\tSystem.Data.Entity.EmdEntityTypes::クルーズテーブルにキーが定義されていません。このEntityTypeのキーを定義します。

これは、コントローラーを作成しようとした元のテーブルに関連するすべてのテーブルに対して何度も繰り返されます。

コントローラ自体が作成されることはなく、[OK]を押すと、[コントローラの追加]ダイアログに戻ります。

問題のモデルdefinitleyには、マッピングファイルで定義された主キーがあります。

//主キーthis.HasKey(t => t.cruise_ID);

私は何が間違っているのですか?

コントローラはどのようにマッピングクラスを見つけますか?

4

2 に答える 2

4

受け取ったエラーを再現することができました。これは、エンティティタイプではなく、モデル自体のコントローラーを作成しようとすることに関連しています。

MVCスキャフォールディングは、エンティティ、次に関連するコンテキストをターゲットにするように設計されています-ドロップダウンで適切なアイテムを選択していることを確認しますか?

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

この画像では:

  • モデルのドロップダウン(鉱山はA(MVCExamples.Models)を示しています)は、私があなたのクルーズエンティティであると想定しているものを参照する必要があります。
  • データコンテキストは、作成されるDbContextである必要があります(鉱山はエンティティ(MVCExamples.Models)を示しています)
于 2012-08-24T18:18:15.567 に答える
2

追加 :

using System.ComponentModel.DataAnnotations;

そしてdbクラスの主キーは呼び出しです'

于 2013-06-03T21:01:15.440 に答える