EF之Code First设置主外键关系(三)

来源:互联网 发布:微信数据移动到sd卡 编辑:程序博客网 时间:2024/06/06 09:46

1、前言

前两篇博文说的主外键关系都是一对一的外键关系,下面我们来说另外一种情况,一个主类中包含多个外键关键,基本代码如下。

 public class B        {            [Key]            public int Id { get; set; }            public string Name { get; set; }        }        public class A        {            [Key]            public int Id { get; set; }            public string Name { get; set; }            public B B1 { get; set; }  /*第一次*/             public B B2 { get; set; }  /*第二次*/        }

上述代码如下,对象B出现异常,没有问题,正常,如果实现多次怎么处理呢?

2、解决方法

利用ForeiginKey与Column都不可以,正确的方法是依赖EF框架自动生成外键, 我们只需要指定导航属性即可,EF自动创建命名规则为:“表名_主键名”的复键,代码如下:

 public class A    {        [Key]        public int Id { get; set; }        public string Name { get; set; }        public virtual B B1 { get; set; }        public virtual B B2 { get; set; }    }    public class B    {        [Key]        public int Id { get; set; }        public string Name { get; set; }    }
原创粉丝点击