EF学习笔记-CODE FIRST-约定

首先EF对关系数据库的映射遵循如下规则: Fluent API 配置 override 数据注释 override 约定 System.Data.Entity.ModelConfiguration.Conventions(EntityFramework.dll) ==========约定========== 1 key(主键约定):EF默认会自动查找属性名为“Id”或【类名+“Id”】的组合,作为该类的主键 2 foreignKey(关系约定): 0、1...N 任何数据类型与主体主键属性相同、遵循以下一种格式的属性都表示关系的外键: A class: Parent{ ParentId ICollection Childrens } B class: Children{} 在Children类中,根据如下约定,这些属性名是外键。 <导航属性名称><主体主键属性> = ChildrensParentId <主体类名><主键属性名称> = ParentParentId <主体主键属性名称> = ParentId 其它: 通过Fluent API禁用或移除约定 可以移除在 System.Data.Entity.ModelConfiguration.Conventions 命名空间中定义的任何约定 protected override void OnModelCreating(DbModelBuilder modelBuilder) { // Configure Code First to ignore PluralizingTableName convention // If you keep this convention, the generated tables // will have pluralized names. modelBuilder.Conventions.Remove(); }
posted @ 2015-04-08 16:39  坏坏@net  阅读(119)  评论(0编辑  收藏  举报