2017-05-15 14 views
1

エンティティフレームワークで1番目のアプローチを使用して1対1の関係を実装しています。私のモデルは以下の通りです。エンティティフレームワーク1対1リレーションシップ依存エンティティなしの依存エンティティを保存する

public class Course 
{ 
    public int CourseId { get; set; } 
    public string CourseName { get; set; } 

    public virtual Caption Caption { get; set; } 

} 

この1

public class Caption 
{ 

    public int CaptionId { get; set; } 
    public string CaptionDesc { get; set; } 
    public virtual Course Course { get; set; } 
} 

とコンテキストで私が使用している次のコード

modelBuilder.Entity<Course>().HasRequired(c => c.Caption).WithRequiredPrincipal(c => c.Course); 

One to One Relationship Example、ここにこの記事を読んで、彼らは、聞かせたときにあなたがコースを保存していると言うことを言っている間エンティティがキャプションなしでスローされ、エンティティフレームワークはエンティティを格納させません。しかし、私がしたとき、私は例外がありませんでした。私は両方のエンティティを依存関係なく保存することができます。私が間違っていることを教えてください。私はエンティティフレームワーク6を使用しています

編集:テーブルは次のようになります。 enter image description here

+0

どちらのテーブルにも制約を示す「主キー」または「外部キー」を配置していません。 「SQL Server SSMS」の表はどのように見えるのですか? –

+0

彼はする必要はありません。 CourseidとCaptionIdは大会に従うので、EFは賢明です。 –

+0

それは私が思ったことですが、 'Caption'がない行を挿入すると、' Key'と 'Foreign Key'との関係を明示的に強制してはいけませんか? –

答えて

関連する問題