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 に基づいています '