update

28810
2019-04-28 18:42:50 +08:00
parent 0d4fb27737
commit 0c6dfacc59
3 changed files with 47 additions and 28 deletions

@@ -1,62 +1,75 @@
### OneToOne 一对一
```csharp
class a {
public int id { get; set; } //id、objbid、objb_id
class User {
public int Id { get; set; } //Id、UserId、User_id
public b objb { get; set; }
public UserExt UserExt { get; set; }
}
class b {
public int id { get; set; } //id、objaid、obja_id
class UserExt {
public int id { get; set; } //Id、UserId、User_id、UserExtId、UserExt_id
public a obja { get; set; }
public User User { get; set; }
}
```
[《OneToOne 一对一,怎么添加数据?》](https://github.com/2881099/FreeSql/issues/45)
### ManyToOne 多对一
```csharp
class a {
public int id { get; set; }
class Group {
public int Id { get; set; } //Id、GroupId、Group_id
}
class b {
public int id { get; set; }
class User {
public int Id { get; set; } //Id、UserId、User_id
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; } //存在多个相同类型时,与上面的属性区分
public int AGroupId { get; set; }
public Group AGroup { get; set; }
public int BGroupId { get; set; }
public Group BGroup { get; set; }
}
```
### OneToMany 一对多
```csharp
class order {
public int id { get; set; }
class Group {
public int Id { get; set; } //Id、GroupId、Group_id
public ICollection<item> items { get; set; }
public ICollection<User> AUsers { get; set; }
public ICollection<User> BUsers { get; set; }
}
class item {
public int id { get; set; }
class User {
public int Id { get; set; } //Id、UserId、User_id
public int orderid { get; set; } //orderid、order_id、a1id、a1_id
public int AGroupId { get; set; }
public Group AGroup { get; set; }
public int BGroupId { get; set; }
public Group BGroup { get; set; }
}
```
[《OneToMany 一对多,怎么添加数据?》](https://github.com/2881099/FreeSql/issues/46)
### Parent 父子
```csharp
class order {
public int id { get; set; }
class Group {
public int Id { get; set; } //Id、GroupId、Group_id
public int parentid { get; set; } //parentid、parent_id
public order parent { get; set; }
public int ParentId { get; set; } //ParentId、Parent_id
public Tag Parent { get; set; }
public ICollection<item> orders { get; set; }
public ICollection<Group> Childs { get; set; }
}
```
父子关系,与一对多其实差不多,添加数据参数上面的连接;
### ManyToMany 多对多
```csharp
class Song {

@@ -32,17 +32,18 @@ class AddUniquesInfo {
[Column(Unique = "uk_phone")]
public string phone { get; set; }
[Column(Unique = "uk_group_index")]
[Column(Unique = "uk_group_index, uk_group_index22")]
public string group { get; set; }
[Column(Unique = "uk_group_index")]
public int index { get; set; }
[Column(Unique = "uk_group_index222")]
[Column(Unique = "uk_group_index22")]
public string index22 { get; set; }
}
```
Unique 指定相同的标识,代表联合唯一键;
唯一键,在多个属性指定相同的标识,代表联合键;可使用逗号分割多个 UniqueKey 名。
## 数据库类型(DbType)

@@ -1,6 +1,11 @@
完整版本:年数-月-日-当日版本号FreeSql、FreeSql.Repository、FreeSql.DbContext 版本号相同。
## v0.5.7
- 补充 nuget 包增加 xmlDoc 编译,原来使用者之前一直没有注释;
- 调整 Column.Unique 定义规则,解决同一属性不可配置多次的问题;
## v0.5.6
- 优化 兼容不同数据库 bool 的表达式解析Where(a => a.Bool)、Where(a => !a.Bool)