EFを使用して2つのエンティティ間に1対1の関係を作成しようとしていますが、:MVC 5 - エンティティを1対1の関係で保存できません
IDENTITY_INSERTがOFFに設定されている場合、テーブル 'CumulativeRecords'のID列に明示的な値を挿入できません。
public class CumulativeRecord { [ForeignKey("ANA")] public int CumulativeRecordId { get; set; } public virtual ANA ANA { get; set; } } public class ANA { public int ANAId { get; set; } public virtual CumulativeRecord CumulativeRecord { get; set; } }
と私は流暢API使用:次のように
私の2つのモデルがあり、この設定にもかかわらず
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Entity<ANA>()
.HasRequired(a => a.CumulativeRecord)
.WithRequiredPrincipal(a => a.ANA);
}
を、私は新しいCumulativeRecord
オブジェクトを保存することができません。
これは、オブジェクトを保存する時、私の現在の試みです:
var experience = new CumulativeRecord { ANA = newANA };
db.CumulativeRecords.Add(experience);
db.SaveChanges();
それはまた、私は、新しいデータベースで作業していないです、このデータベースが存在し、私はそれにモデルとの関係を追加していていることは注目に値します。
あなたは 'テーブルの主キー' CumulativeRecord'をCumulativeRecordId'作っ設定しようとしたことがあり、次のようになりますか? EFは主キーのないテーブルでは更新できません。 –
コンベンションに従うと、CumulativeRecordIdはデフォルトでプライマリキーになります。しかし、私はとにかく '[Key]'を追加しようとします –