entity framework 实体类怎么声明外键关系
比如有一个主表master,有字段id,name,.....,主键ID
对应的明细表:detail,有字段,id,No,.......,组合主键id,No
master和detail 为1对多关系
detail 通过id和主表master的id字段关联
模型中该怎么写才能反映这种主外键的关系
master的model如下
public class master
{
[Key]
[Required()]
public string id { get; set; }
public string name{ get; set; }
.............
}
detail表对应的model如下
public class detail
{
[Key]
[Column(Order = 0)]
public string id{ get; set; }
[Key]
[Column(Order = 1)]
[Required()]
public int No{ get; set; }
.........................
}
------解决方案--------------------吧detail类作为master类的一个属性
public class master {
[Key] [Required()]
public string id { get; set; }
public string name{ get; set; }
public detail d{get;set;}
............. }
------解决方案--------------------在你的继承DbContext的 XxxContext里面重写OnModelCreating方法
然后在里面设置契约
比如:
//定义对应的数据库表的名称
modelBuilder.Entity<Message>().ToTable("Xxx_Message");