码迷,mamicode.com
首页 > 其他好文 > 详细

CodeFirst 表之间的关联

时间:2014-07-10 12:53:30      阅读:241      评论:0      收藏:0      [点我收藏+]

标签:des   style   blog   http   color   strong   

多重性关系可以是Optional(一个属性可拥有一个单个实例或没有

Required(一个属性必须拥有一个单个实例

Many很多的(一个属性可以拥有一个集合或一个单个实例)。

Has方法包括如下几个:

• HasOptional

• HasRequired

• HasMany

在多数情况还需要在Has方法后面跟随如下With方法之一:

• WithOptional

• WithRequired

• WithMany

一对多

modelBuilder.Entity<Destination>()
.HasMany(d => d.Lodgings)
.WithOptional(l => l.Destination);

Destination一对多或零对多Lodging

如果将WithOptional改成WithRequired  这将使Lodgings必须对应一个Destination,如果删除Destination将级联删除Lodgings 详细>>

关闭级联删除的方法:

现在你可以设置此关系的WillCascadeOnDelete为false:

HasRequired(l=>l.Destination)

.WithMany(d=>d.Lodgings)

.WillCascadeOnDelete(false)

 

一对一

modelBuilder.Entity<PersonPhoto>()

.HasRequired(p => p.PhotoOf)

.WithOptional(p => p.Photo);

PersonPhoto一对零或一对一Photo

 

 

多对多关系

modelBuilder.Entity<Destination>()

.HasMany(d => d.Lodgings)

.WithRequired()

.HasForeignKey(l => l.LocationId);

Destination多对多Lodging

 

modelBuilder.Entity<Help>()

.HasMany<Help>(t => t.Helps)

.WithMany()

.Map(m => { m.ToTable("RelatedHelp"); });

 

 

多对多的关系语法让我比较费解。求高手解释一下

CodeFirst 表之间的关联,布布扣,bubuko.com

CodeFirst 表之间的关联

标签:des   style   blog   http   color   strong   

原文地址:http://www.cnblogs.com/AspDotNetMVC/p/2966923.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!