xiaolizi007
2/21/2017 - 2:50 AM

表间关系

表间关系 #ef

modelBuilder.Entity<BlogSite>()
    .HasRequired(b => b.BlogUser)
    .WithMany()
    .HasForeignKey(b => b.UserID);

modelBuilder.Entity<BlogUser>()
    .HasRequired(u => u.BlogSite)
    .WithMany()
    .HasForeignKey(u => u.BlogID);
    
    
  /////////////////////////////
  public class User 
  {     
    public int UserId { get; set; }     
    public string Name { get; set; }     
    public int BillingAddressId { get; set; }    
    public int DeliveryAddressId { get; set; }     
    [ForeignKey("BillingAddressId")]     
    public Address BillingAddress { get; set; }     
    [ForeignKey("DeliveryAddressId")]     
    public Address DeliveryAddress { get; set; } 
  }
modelBuilder.Entity<BlogSite>()
    .HasRequired(b => b.BlogUser)
    .WithMany()
    .HasForeignKey(b => b.UserID).WillCascadeOnDelete(false);;
    
   
modelBuilder.Entity<BlogSite>()
    .HasMany(b => b.BlogPosts)
    .WithRequired(p => p.BlogSite);
modelBuilder.Entity<BlogPost>()
    .HasMany(b => b.Categories)
    .WithMany(c => c.BlogPosts)
    .Map
    (
        m =>
        {
            m.MapLeftKey("BlogPostID");
            m.MapRightKey("CategoryID");
            m.ToTable("BlogPost_Category");
        }
    );