EF Code First 学习笔记:关系
2016-08-26 22:56
483 查看
一对多关系
项目中最常用到的就是一对多关系了。Code First对一对多关系也有着很好的支持。很多情况下我们都不需要特意的去配置,Code First就能通过一些引用属性、导航属性等检测到模型之间的关系,自动为我们生成外键。观察下面的类:View Code
Lodging(旅店)有两个对Person表的引用,分别是PrimaryContact与SecondaryContact,同时,在Person表中也有对这两个联系人的导航:PrimaryContactFor与SecondaryContactFor。
看看Code First默认会生成怎样的数据库
public class Person { public int PersonId { get; set; } public int SocialSecurityNumber { get; set; } public string FirstName { get; set; } public string LastName { get; set; } [Timestamp] public byte[] RowVersion { get; set; } public PersonPhoto Photo { get; set; } } public class PersonPhoto { [Key, ForeignKey("PhotoOf")] public int PersonId { get; set; } public byte[] Photo { get; set; } public string Caption { get; set; } public Person PhotoOf { get; set; } }
使用Fluent API:
modelBuilder.Entity<PersonPhoto>().HasRequired(p => p.PhotoOf).WithOptional(p => p.Photo);
注意:PersonPhoto表中的PersonId既是外键也必须是主键
相关文章推荐
- EF Code First 学习笔记:关系
- EF Code First 学习笔记:关系
- EF Code First 学习笔记:关系
- EF Code First 学习笔记:关系
- EF Code First 学习笔记:关系
- EF Code First 学习笔记:关系(转)
- EF Code First 学习笔记:关系
- EF Code First 学习笔记:表映射
- 【转载】Entity Framwork CodeFirst 学习笔记四:关系的默认规则与配置
- EF Code First学习笔记:数据库创建
- EF Code First学习笔记 初识Code First
- EF Code First 学习笔记:约定配置
- EF Code First学习笔记:数据库创建
- EF Code First学习笔记 初识Code First
- EF Code First学习笔记 初识Code First
- EF Code First 学习笔记:表映射(转)
- Entity Framwork CodeFirst 学习笔记四:关系的默认规则与配置
- EF Code First 学习笔记(系列文章转载)
- EF Code First学习笔记:数据库创建(转载修改)
- EF Code First 学习笔记:约定配置