0

Entity Framework ツールを使用して、最初に MySQL データベースの POCO クラスのコードをクラス ライブラリにリバース エンジニアリングしました。このクラス ライブラリを参照する MVC プロジェクトを作成し、読み取り/書き込みアクションとビューを備えたコントローラーを作成しようとしています。モデルとデータ コンテキスト クラスを設定し、[追加] をクリックすると、次のエラーが表示されます。

EntityType xxx にはキーが定義されていません。この EntityType のキーを定義します。

問題は、マップで適切にマークされていることです。

    public UserApplicationMap()
    {
        // Primary Key
        this.HasKey(t => new { t.UserID, t.AppID });
        ...

私はクラスでこれをやってみました:

public class UserApplication
{
    [Key, Column(Order = 0)]
    public int UserID { get; set; }

    [Key, Column(Order = 1)]
    public int AppID { get; set; }

しかし、コンパイラは Column 属性に適合し、無効としてフラグを立てました。

だから私は少し困惑しています。複合キーを使用できるのであれば、このテーブルに自動インクリメント フィールドを追加したくありません。

Visual Studio 2012、EF 5、MVC 4、および MySQL コネクタ 6.6.4 を使用しています

4

0 に答える 0