Entity Framework 4.3のMVC3のコードファーストモデルには、次のクラスがあります。
public class Film
{
public Int32 ID { get; set; }
[Column("FilmName"), MinLength(2), MaxLength(100)]
[Required(ErrorMessage = "Please enter a name")]
public String Name { get; set; }
public Model.Cast Cast { get; set; }
}
public class Actor
{
public Int32 ID { get; set; }
[MaxLength(75)]
public String Name { get; set; }
}
[Table("Cast")]
public class Cast
{
public Actor Actor { get; set; }
[MaxLength(500)]
public String Role { get; set; }
public virtual Film Film { get; set; }
}
結果として次のようなテーブルレイアウトが必要です。
Films:
ID PK
Name
Cast:
FilmID PK FK
ActorID PK FK
Role
Actors:
ID PK
Name
Castテーブルを作成するにはどうすればよいですか?現在、次のエラーが発生します。
## System.Data.Entity.Edm.EdmEntityType::EntityType'キャスト'にはキーが定義されていません。このEntityTypeのキーを定義します。\ tSystem.Data.Entity.Edm.EdmEntitySet:EntityType:EntitySet'Casts'は、キーが定義されていないタイプ'Cast'に基づいています。##
しかし、IDキーを作成したくはありません。フィルムとアクターのIDフィールドを使用して、他のテーブルへの外部キーである複合主キーを作成したいと思います。
私は何をすべきか?