mirror of
https://github.com/nsnail/FreeSql.git
synced 2025-04-22 02:32:50 +08:00
update
This commit is contained in:
parent
2a0428ffe7
commit
7238f6797b
27
readme.md
27
readme.md
@ -10,7 +10,7 @@ FreeSql 是一个功能强大的 .NETStandard 库,用于对象关系映射程
|
|||||||
| [FreeSql.AdminLTE](https://github.com/2881099/FreeSql.AdminLTE) | [](https://www.nuget.org/packages/FreeSql.AdminLTE) | [](https://www.nuget.org/stats/packages/FreeSql.AdminLTE?groupby=Version) |
|
| [FreeSql.AdminLTE](https://github.com/2881099/FreeSql.AdminLTE) | [](https://www.nuget.org/packages/FreeSql.AdminLTE) | [](https://www.nuget.org/stats/packages/FreeSql.AdminLTE?groupby=Version) |
|
||||||
| [FreeSql.Connection.Extensions](https://github.com/2881099/FreeSql.Connection.Extensions) | [](https://www.nuget.org/packages/FreeSql.Connection.Extensions) | [](https://www.nuget.org/stats/packages/FreeSql.Connection.Extensions?groupby=Version) |
|
| [FreeSql.Connection.Extensions](https://github.com/2881099/FreeSql.Connection.Extensions) | [](https://www.nuget.org/packages/FreeSql.Connection.Extensions) | [](https://www.nuget.org/stats/packages/FreeSql.Connection.Extensions?groupby=Version) |
|
||||||
|
|
||||||
# 特性
|
# Features
|
||||||
|
|
||||||
- [x] 支持 CodeFirst 迁移;
|
- [x] 支持 CodeFirst 迁移;
|
||||||
- [x] 支持 DbFirst 从数据库导入实体类,提供失血、贫血、充血三种生成模板;
|
- [x] 支持 DbFirst 从数据库导入实体类,提供失血、贫血、充血三种生成模板;
|
||||||
@ -74,20 +74,18 @@ class Tag {
|
|||||||
//OneToOne、ManyToOne
|
//OneToOne、ManyToOne
|
||||||
var t0 = fsql.Select<Tag>()
|
var t0 = fsql.Select<Tag>()
|
||||||
.Where(a => a.Parent.Parent.Name == "粤语")
|
.Where(a => a.Parent.Parent.Name == "粤语")
|
||||||
.Include(a => a.Tags, then => then.Where(sub => sub.Name == "xxx"))
|
.IncludeMany(a => a.Tags, then => then.Where(sub => sub.Name == "xxx"))
|
||||||
.ToList();
|
.ToList();
|
||||||
|
|
||||||
//OneToMany
|
//OneToMany
|
||||||
var t1 = fsql.Select<Tag>()
|
var t1 = fsql.Select<Tag>()
|
||||||
.Where(a => a.Tags.AsSelect()
|
.Where(a => a.Tags.AsSelect().Any(t => t.Parent.Id == 10))
|
||||||
.Any(t => t.Parent.Id == 10))
|
|
||||||
.ToList();
|
.ToList();
|
||||||
|
|
||||||
//ManyToMany
|
//ManyToMany
|
||||||
var t2 = fsql.Select<Song>()
|
var t2 = fsql.Select<Song>()
|
||||||
.Where(s => s.Tags.AsSelect()
|
.Where(s => s.Tags.AsSelect().Any(t => t.Name == "国语"))
|
||||||
.Any(t => t.Name == "国语"))
|
.IncludeMany(a => a.Tags, then => then.Where(sub => sub.Name == "xxx"))
|
||||||
.Include(a => a.Tags, then => then.Where(sub => sub.Name == "xxx"))
|
|
||||||
.ToList();
|
.ToList();
|
||||||
|
|
||||||
//Other
|
//Other
|
||||||
@ -139,16 +137,10 @@ using (var uow = fsql.CreateUnitOfWork()) {
|
|||||||
> dotnet add package FreeSql.DbContext
|
> dotnet add package FreeSql.DbContext
|
||||||
|
|
||||||
```csharp
|
```csharp
|
||||||
public class SongContext : DbContext {
|
using (var ctx = new fsql.CreateDbContext()) {
|
||||||
public DbSet<Song> Songs { get; set; }
|
var songs = ctx.Set<Song>();
|
||||||
public DbSet<Tag> Tags { get; set; }
|
var tags = ctx.Set<Tag>();
|
||||||
|
|
||||||
protected override void OnConfiguring(DbContextOptionsBuilder builder) {
|
|
||||||
builder.UseFreeSql(fsql);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
using (var ctx = new SongContext()) {
|
|
||||||
var tag = new Tag {
|
var tag = new Tag {
|
||||||
Name = "testaddsublist",
|
Name = "testaddsublist",
|
||||||
Tags = new[] {
|
Tags = new[] {
|
||||||
@ -162,7 +154,8 @@ using (var ctx = new SongContext()) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
ctx.Tags.Add(tag);
|
//tags.Add(tag);
|
||||||
|
ctx.Add(tag);
|
||||||
await ctx.SaveChangesAsync();
|
await ctx.SaveChangesAsync();
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
Loading…
x
Reference in New Issue
Block a user