Entity Framework 实体关系总结

来源:互联网 发布:数据录入员述职报告 编辑:程序博客网 时间:2024/06/11 06:42


  1. 一对一关系(one-to-one)

  a) 单向一对一(文章链接)

  类图:

  数据库表结构:

  Entity Framework中实体关系的定义:

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

  b) 双向一对一(文章链接)

  类图:

  数据库表结构:

  Entity Framework中实体关系的定义:

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

modelBuilder.Entity<BlogUser>()
.HasRequired(u => u.BlogSite)
.WithMany()
.HasForeignKey(u => u.BlogID);

  2. 一对多关系(one-to-many,文章链接)

  类图:

  数据库表结构:

  Entity Framework中实体关系的定义:

modelBuilder.Entity<BlogSite>()
.HasMany(b => b.BlogPosts)
.WithRequired(p => p.BlogSite);

  3. 多对多关系(many-to-many,文章链接)

  类图:

  数据库表结构:

  Entity Framework中实体关系的定义:

modelBuilder.Entity<BlogPost>()
.HasMany(b => b.Categories)
.WithMany(c => c.BlogPosts)
.Map
(
m =>
{
m.MapLeftKey("BlogPostID");
m.MapRightKey("CategoryID");
m.ToTable("BlogPost_Category");
}
);
0 0