重庆注册公司核名在哪个网站,网上怎么免费推广,代运营的工作内容,更改wordpress密码导航属性是 FreeSql 的特色功能之一#xff0c;可通过约定配置、或自定义配置对象间的关系。 导航属性有 OneToMany, ManyToOne, ManyToMany, OneToOne, Parent 五种配置关系。 有了导航属性#xff0c;多表查询会非常方便#xff0c;lambda 表达式中直接使用导航对象点点点… 导航属性是 FreeSql 的特色功能之一可通过约定配置、或自定义配置对象间的关系。 导航属性有 OneToMany, ManyToOne, ManyToMany, OneToOne, Parent 五种配置关系。 有了导航属性多表查询会非常方便lambda 表达式中直接使用导航对象点点点舒服 除了查询还有更多其他的特性在后续文章中再介绍。 自定义导航关系 //导航属性OneToMany
[Navigate(song_id)]
public virtual Listsong_tag Obj_song_tag { get; set; }//导航属性ManyToOne/OneToOne
[Navigate(song_id)]
public virtual Song Obj_song { get; set; }//导航属性ManyToMany
[Navigate(ManyToMany typeof(tag_song))]
public virtual Listtag tags { get; set; } 可约定可不约定不约定的需指定 Navigate 特性关联无关联的查询时可以指明 On 条件LeftJoin(a a.Parent.Id a.ParentId)已关联的直接使用导航对象就行On 条件会自动附上也可以使用 FluentApi 在外部设置导航关系 fsql.CodeFirst.ConfigEntity实体类(a a.Navigate(b b.roles, null, typeof(多对多中间实体类)).Navigate(b b.users, uid)
); 优先级特性 FluentApi 约定配置 OneToOne 一对一 class User {public int Id { get; set; } //Id、UserId、User_idpublic UserExt UserExt { get; set; }
}class UserExt {public int id { get; set; } //Id、UserId、User_id、UserExtId、UserExt_idpublic User User { get; set; }
} 《OneToOne 一对一怎么添加数据》 ManyToOne 多对一 class Group {public int Id { get; set; } //Id、GroupId、Group_id
}class User {public int Id { get; set; } //Id、UserId、User_idpublic int AGroupId { get; set; }public Group AGroup { get; set; }public int BGroupId { get; set; }public Group BGroup { get; set; }
} OneToMany 一对多 class Group {public int Id { get; set; } //Id、GroupId、Group_idpublic ICollectionUser AUsers { get; set; }public ICollectionUser BUsers { get; set; }
}class User {public int Id { get; set; } //Id、UserId、User_idpublic int AGroupId { get; set; }public Group AGroup { get; set; }public int BGroupId { get; set; }public Group BGroup { get; set; }
} 《OneToMany 一对多怎么添加数据》 Parent 父子 class Group {public int Id { get; set; } //Id、GroupId、Group_idpublic int ParentId { get; set; } //ParentId、Parent_idpublic Group Parent { get; set; }public ICollectionGroup Childs { get; set; }
} 父子关系与一对多其实差不多添加数据参数上面的连接 ManyToMany 多对多 class Song {[Column(IsIdentity true)]public int Id { get; set; }public string Title { get; set; }public virtual ICollectionTag Tags { get; set; }
}
class Song_tag {public int Song_id { get; set; }public virtual Song Song { get; set; }public int Tag_id { get; set; }public virtual Tag Tag { get; set; }
}
class Tag {[Column(IsIdentity true)]public int Id { get; set; }public string Name { get; set; }public int? Parent_id { get; set; }public virtual Tag Parent { get; set; }public virtual ICollectionSong Songs { get; set; }public virtual ICollectionTag Tags { get; set; }
} Song、Tag、Song_tag这三个实体使用了 OneToMany、ManyToOne、Parent、ManyToMany 4种关系。 系列文章导航 一入门二自动迁移实体三实体特性四实体特性 Fluent Api五插入数据六批量插入数据七插入数据时忽略列八插入数据时指定列九删除数据十更新数据十一更新数据 Where十二更新数据时指定列十三更新数据时忽略列十四批量更新数据十五查询数据十六分页查询十七联表查询十八导航属性十九多表查询二十多表查询 WhereCascade二十一查询返回数据二十二Dto 映射查询二十三分组、聚合二十四Linq To Sql 语法使用介绍二十五延时加载二十六贪婪加载 Include、IncludeMany、Dto、ToList二十七将已写好的 SQL 语句与实体类映射进行二次查询二十八事务二十九Lambda 表达式三十读写分离三十一分区分表三十二Aop三十三CodeFirst 类型映射三十四CodeFirst 迁移说明三十五CodeFirst 自定义特性转载于:https://www.cnblogs.com/FreeSql/p/11531352.html