1

Razor/MVC 3 で VS 2010 を使用して、ユーザー 1 が RequestQueue モデル (これは単なるキュー テーブルです) を使用してデータベースに情報を送信するフォームを作成しています。次に、ユーザー 2 がこの情報を取得して承認すると、データは DbRequestForm モデルを介してメイン データベースに送信されます。ただし、このモデルはいくつかのサブモデル (Data_Dictionary、SERVER_DATABASE、および DatabaseRequestInfo) で構成されています。これは、送信されたデータが 3 つの個別のテーブルに移動する必要があるためです。

問題は、RequestQueue から DbRequestForm へのデータ送信を承認するたびに、DbRequestForm の主キーがないというエラーが表示されることです。ただし、サブモデルごとに PK があります。[Key]public int SrvrDB_ID { get; set; }やその他のバリエーションを DbRequestForm に追加しようとしましたが、役に立ちませんでした。

初期モデル:

public class RequestQueue
{
    [Key]
    public int SrvrDB_ID { get; set; }
    public string dbName { get; set; }

    public int InitialSpaceNeeded { get; set; }
    public string ScheduledJobSetup { get; set; }

    public string PII_data { get; set; }
}

カプセル化モデル:

public class DbRequestForm
{
    public Data_Dictionary Data_Dictionary { get; set; }
    public DatabaseRequestInfo DatabaseRequestInfo { get; set; }
    public SERVER_DATABASE SERVER_DATABASE { get; set; }
}

最後の 3 つのテーブルに基づくモデル:

public class Data_Dictionary
{
    [Key]
    public int SrvrDB_ID { get; set; }
    public string PII_data { get; set; }
}

public class SERVER_DATABASE
{
    [Key]
    public int SrvrDB_ID { get; set; }
    public string dbName { get; set; }
}

public class DatabaseRequestInfo
{
    [Key]
    public int SrvrDB_ID { get; set; }
    public int InitialSpaceNeeded { get; set; }
    public string ScheduledJobSetup { get; set; }
}

このエラーを回避する方法はありますか? 前もって感謝します!

編集: 特定のエラーは '

System.Data.Edm.EdmEntityType: : EntityType 'DbRequestForm' にはキーが定義されていません。この EntityType のキーを定義します。System.Data.Edm.EdmEntitySet: EntityType: EntitySet DbRequestForms は、キーを持たない型 DbRequestForm に基づいています '

4

1 に答える 1