mirror of
https://github.com/dotnetcore/FreeSql.git
synced 2026-02-06 08:20:52 +08:00
update
33
DbContext.md
33
DbContext.md
@@ -59,10 +59,30 @@ long id = 0;
|
||||
|
||||
using (var ctx = new SongContext()) {
|
||||
|
||||
id = await ctx.Songs.Insert(new Song { }).ExecuteIdentityAsync();
|
||||
var item = await ctx.Songs.Select.Where(a => a.Id == id).FirstAsync();
|
||||
var song = new Song { };
|
||||
await ctx.Songs.AddAsync(song);
|
||||
id = song.Id;
|
||||
|
||||
throw new Exception("回滚,不提交事务");
|
||||
var adds = Enumerable.Range(0, 100)
|
||||
.Select(a => new Song { Create_time = DateTime.Now, Is_deleted = false, Title = "xxxx" + a, Url = "url222" })
|
||||
.ToList();
|
||||
await ctx.Songs.AddRangeAsync(adds);
|
||||
|
||||
for (var a = 0; a < adds.Count; a++)
|
||||
adds[a].Title = "dkdkdkdk" + a;
|
||||
|
||||
ctx.Songs.UpdateRange(adds);
|
||||
|
||||
ctx.Songs.RemoveRange(adds.Skip(10).Take(20).ToList());
|
||||
|
||||
//ctx.Songs.Update(adds.First());
|
||||
|
||||
adds.Last().Url = "skldfjlksdjglkjjcccc";
|
||||
ctx.Songs.Update(adds.Last());
|
||||
|
||||
//throw new Exception("回滚");
|
||||
|
||||
await ctx.SaveChangesAsync();
|
||||
}
|
||||
```
|
||||
|
||||
@@ -90,11 +110,10 @@ OnConfiguring > AddFreeDbContext
|
||||
|
||||
## 说明
|
||||
|
||||
- DbContext 内第一个添加、删除、或修改的操作,会开启事务,如果只做查询不会打开事务;
|
||||
- DbContext 操作的数据在最后 SaveChanges 时才批量保存;
|
||||
- DbContext 内所有操作,使用同一个事务;
|
||||
- 可多次执行 SaveChanges 方法,执行完后事务销毁,直到下一次事务开启;
|
||||
- 每个 DbContext 实例的事务是独立的;
|
||||
- 事务支持异步方法;
|
||||
- 当实体存在自增时,或者 Add/AddRange 的时候主键值为空,会提前开启事务;
|
||||
- 支持同步/异步方法;
|
||||
|
||||
## 参考资料
|
||||
|
||||
|
||||
5
更新日志.md
5
更新日志.md
@@ -1,6 +1,11 @@
|
||||
|
||||
完整版本:年数-月-日-当日版本号,FreeSql、FreeSql.Repository、FreeSql.DbContext 版本号相同。
|
||||
|
||||
## v0.3.21
|
||||
|
||||
- 增加 IUpdate IgnoreColumns 重载方法,支持传入字符串数组忽略修改;
|
||||
- 完善 FreeSql.DbContext,支持对象操作 + SaveChanges 最后保存操作;
|
||||
|
||||
## v0.3.20
|
||||
|
||||
- 修复 ToList 选择指定对象时,应附加所有字段查询返回;
|
||||
|
||||
Reference in New Issue
Block a user