多.netcore EFcore <3>の基本的な理解、唯一の制約

 

唯一の制約オーバーライドキー。

modelBuilder.Entity <車> ()
            .HasAlternateKey(C => 新しい {c.State、c.LicensePlate})。

多くの多くは、建設されている可能性があり、より便利な時に上位コール。

クラスあるMyContext:DbContext 
{ 
    公共 DbSet <ポスト>記事{ 取得しますセット; }
     公共 DbSet <タグ>タグ{ 取得しますセット; } 

    保護 オーバーライド ボイドOnModelCreating(ModelBuilderのModelBuilderの)
    { 
        modelBuilder.Entity <PostTag> ()
            .HasKey(PT => 新しいpt.PostId、pt.TagId {})。

        modelBuilder.Entity <PostTag> ()
            .HasOne(PT => pt.Post)
            .WithMany(P => p.PostTags)
            .HasForeignKey(PT => pt.PostId)。

        modelBuilder.Entity <PostTag> ()
            .HasOne(PT => pt.Tag)
            .WithMany(T => t.PostTags)
            .HasForeignKey(PT => pt.TagId)。
    } 
} 

パブリック クラスのポスト
{ 
    公共 のint PostId { 取得しますセット; }
     パブリック 文字列のタイトル{ 取得しますセット; }
     パブリック 文字列の内容{ 取得しますセット; } 

    公共の一覧<PostTag> PostTags { 取得しますセット; } 
} 

パブリック クラスタグ
{ 
    公共の 文字列 TAGID { 取得しますセット; } 

    公共の一覧<PostTag> PostTags { 取得しますセット; } 
} 

パブリック クラスPostTag 
{ 
    公共 のint PostId { 得ますセット; }
     公共投稿掲載{ 取得しますセット; } 

    パブリック 文字列TAGID { 取得しますセット; }
     パブリックタグタグ{ 取得しますセット; } 
}

 

おすすめ

転載: www.cnblogs.com/qgbo/p/11502236.html