update

28810
2019-04-28 13:27:30 +08:00
parent f1bea8cc8a
commit 18e3d61c28
10 changed files with 119 additions and 0 deletions

@@ -21,6 +21,8 @@ IFreeSql fsql = new FreeSql.FreeSqlBuilder()
- [《类型映射,一览便知》](https://github.com/2881099/FreeSql/wiki/%e7%b1%bb%e5%9e%8b%e6%98%a0%e5%b0%84)
- [《导航关系配置》](https://github.com/2881099/FreeSql/wiki/%e5%ae%9e%e4%bd%93%e5%85%b3%e7%b3%bb)
## 迁移结构
| 实体&表对比 | 添加 | 改名 | 删除 |

@@ -32,4 +32,6 @@ FluentApi 的命名与特性保持一致,有关说明请移步参考:[《实
- [《类型映射,一览便知》](https://github.com/2881099/FreeSql/wiki/%e7%b1%bb%e5%9e%8b%e6%98%a0%e5%b0%84)
- [《导航关系配置》](https://github.com/2881099/FreeSql/wiki/%e5%ae%9e%e4%bd%93%e5%85%b3%e7%b3%bb)
- [《CodeFirst模式开发介绍》](https://github.com/2881099/FreeSql/wiki/CodeFirst)

@@ -45,6 +45,7 @@ FreeSql是一个功能强大的NETStandard库用于对象关系映射程序(O
* [外部配置实体](https://github.com/2881099/FreeSql/wiki/FluentApi)
* [自定义特性](https://github.com/2881099/FreeSql/wiki/%e8%87%aa%e5%ae%9a%e4%b9%89%e7%89%b9%e6%80%a7)
* [类型映射](https://github.com/2881099/FreeSql/wiki/%e7%b1%bb%e5%9e%8b%e6%98%a0%e5%b0%84)
* [导航配置》](https://github.com/2881099/FreeSql/wiki/%e5%ae%9e%e4%bd%93%e5%85%b3%e7%b3%bb)
* [迁移结构](https://github.com/2881099/FreeSql/wiki/CodeFirst#%e8%bf%81%e7%a7%bb%e7%bb%93%e6%9e%84)
* [DbFirst](https://github.com/2881099/FreeSql/wiki/DbFirst)
* [使用模板生成器](https://github.com/2881099/FreeSql/wiki/DbFirst#%e7%94%9f%e6%88%90%e5%99%a8)

@@ -31,6 +31,7 @@
* [外部配置实体](https://github.com/2881099/FreeSql/wiki/FluentApi)
* [自定义特性](https://github.com/2881099/FreeSql/wiki/%e8%87%aa%e5%ae%9a%e4%b9%89%e7%89%b9%e6%80%a7)
* [类型映射](https://github.com/2881099/FreeSql/wiki/%e7%b1%bb%e5%9e%8b%e6%98%a0%e5%b0%84)
* [导航配置》](https://github.com/2881099/FreeSql/wiki/%e5%ae%9e%e4%bd%93%e5%85%b3%e7%b3%bb)
* [迁移结构](https://github.com/2881099/FreeSql/wiki/CodeFirst#%e8%bf%81%e7%a7%bb%e7%bb%93%e6%9e%84)
* [DbFirst](https://github.com/2881099/FreeSql/wiki/DbFirst)
* [使用模板生成器](https://github.com/2881099/FreeSql/wiki/DbFirst#%e7%94%9f%e6%88%90%e5%99%a8)

@@ -22,4 +22,6 @@ fsql.CodeFirst.IsConfigEntityFromDbFirst = true;
- [《类型映射,一览便知》](https://github.com/2881099/FreeSql/wiki/%e7%b1%bb%e5%9e%8b%e6%98%a0%e5%b0%84)
- [《导航关系配置》](https://github.com/2881099/FreeSql/wiki/%e5%ae%9e%e4%bd%93%e5%85%b3%e7%b3%bb)
- [《CodeFirst模式开发介绍》](https://github.com/2881099/FreeSql/wiki/CodeFirst)

101
实体关系.md Normal file

@@ -0,0 +1,101 @@
### OneToOne 一对一
```csharp
class a {
public int id { get; set; } //id、objbid、objb_id
public b objb { get; set; }
}
class b {
public int id { get; set; } //id、objaid、obja_id
public a obja { get; set; }
}
```
### ManyToOne 多对一
```csharp
class a {
public int id { get; set; }
}
class b {
public int id { get; set; }
public int aid { get; set;} //id、aid、a_id
public a a { get; set; }
public int xxx_id { get; set;} //id、xxxid、xxx_id
public a xxx_a { get; set; } //存在多个相同类型时,与上面的属性区分
}
```
### OneToMany 一对多
```csharp
class order {
public int id { get; set; }
public ICollection<item> items { get; set; }
}
class item {
public int id { get; set; }
public int orderid { get; set; } //orderid、order_id、a1id、a1_id
}
```
### Parent 父子
```csharp
class order {
public int id { get; set; }
public int parentid { get; set; } //parentid、parent_id
public order parent { get; set; }
public ICollection<item> orders { get; set; }
}
```
### ManyToMany 多对多
```csharp
class Song {
[Column(IsIdentity = true)]
public int Id { get; set; }
public string Title { get; set; }
public virtual ICollection<Tag> 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 ICollection<Song> Songs { get; set; }
public virtual ICollection<Tag> Tags { get; set; }
}
```
Song、Tag、Song_tag这三个实体使用了 OneToMany、ManyToOne、Parent、ManyToMany 4种关系。
这里的关系可以改进,像 EFCore 那样做。
- [《实体特性说明》](https://github.com/2881099/FreeSql/wiki/%e5%ae%9e%e4%bd%93%e7%89%b9%e6%80%a7)
- [《FluentApi享受纯净实体类》](https://github.com/2881099/FreeSql/wiki/FluentApi)
- [《从数据库导入特性,懒人专利》](https://github.com/2881099/FreeSql/wiki/%e4%bb%8e%e6%95%b0%e6%8d%ae%e5%ba%93%e5%af%bc%e5%85%a5%e7%89%b9%e6%80%a7)
- [《Aop自定义特性与其他 ORM 共用特性》](https://github.com/2881099/FreeSql/wiki/%e8%87%aa%e5%ae%9a%e4%b9%89%e7%89%b9%e6%80%a7)
- [《类型映射,一览便知》](https://github.com/2881099/FreeSql/wiki/%e7%b1%bb%e5%9e%8b%e6%98%a0%e5%b0%84)

@@ -172,4 +172,6 @@ class Topic2 {
- [《类型映射,一览便知》](https://github.com/2881099/FreeSql/wiki/%e7%b1%bb%e5%9e%8b%e6%98%a0%e5%b0%84)
- [《导航关系配置》](https://github.com/2881099/FreeSql/wiki/%e5%ae%9e%e4%bd%93%e5%85%b3%e7%b3%bb)
- [《CodeFirst模式开发介绍》](https://github.com/2881099/FreeSql/wiki/CodeFirst)

@@ -1,6 +1,10 @@
完整版本:年数-月-日-当日版本号FreeSql、FreeSql.Repository、FreeSql.DbContext 版本号相同。
## v0.5.6
- 优化 兼容不同数据库 bool 的表达式解析Where(a => a.Bool)、Where(a => !a.Bool)
## v0.5.5
- 增加 Column.MapType 类型映射,可将 enum 映射为 int/string 等;

@@ -101,4 +101,6 @@ BigInteger 都可以映射使用了,但请注意:仅仅是 CURD 方便, Eq
- [《Aop自定义特性与其他 ORM 共用特性》](https://github.com/2881099/FreeSql/wiki/%e8%87%aa%e5%ae%9a%e4%b9%89%e7%89%b9%e6%80%a7)
- [《导航关系配置》](https://github.com/2881099/FreeSql/wiki/%e5%ae%9e%e4%bd%93%e5%85%b3%e7%b3%bb)
- [《CodeFirst模式开发介绍》](https://github.com/2881099/FreeSql/wiki/CodeFirst)

@@ -35,4 +35,6 @@ class ModelAopConfigEntity {
- [《类型映射,一览便知》](https://github.com/2881099/FreeSql/wiki/%e7%b1%bb%e5%9e%8b%e6%98%a0%e5%b0%84)
- [《导航关系配置》](https://github.com/2881099/FreeSql/wiki/%e5%ae%9e%e4%bd%93%e5%85%b3%e7%b3%bb)
- [《CodeFirst模式开发介绍》](https://github.com/2881099/FreeSql/wiki/CodeFirst)