私のデータベースには、2つのクラスAとBがこのように作成したテーブル(多対多のテーブル)があります。
this.HasMany(t => t.TrafficImageQuestions)
.WithMany(t => t.TrafficImages)
.Map(m =>
{
m.ToTable("TrafficImage_Answers");
m.MapLeftKey("TrafficImagesGuid");
m.MapRightKey("TrafficImageQuestionsId");
});
ここで、カスタムクラスをこの同じテーブル「TrafficImage_Answers」に関連付けたいと思います。クラスoffcauseには、左キーと右キーがあり、さらに3.カスタムプロパティもあります。
(私はデータベース「Answer」に列を追加しました)
public class TrafficImageAnswer
{
public System.Guid TrafficImageGuid { get; set; }
public int TrafficImageQuestionId { get; set; }
public byte Answer { get; set; }
}
エンティティモデルでAとBの多対多の関係を追跡し、データベースにある3.プロパティAnswerを検索できるようにしたいので、これを実行しています。
私が試したこと
私は次のことをしようとしました:
this.Property(t => t.TrafficImageQuestionId)
.HasDatabaseGeneratedOption(DatabaseGeneratedOption.None);
this.Property(t => t.TrafficImageGuid)
.HasDatabaseGeneratedOption(DatabaseGeneratedOption.None);
// Table & Column Mappings
this.ToTable("TrafficImage_Answers");
しかし、私はテーブルがすでに存在していることを知っています、ロジック。そのテーブルを使用するだけで、作成しようとしないことを伝える必要があります。(EF 5およびパッケージマネージャーのDB緩和策でこれを行っています)。