diff --git a/DbContext.md b/DbContext.md
index a84dfa1..3e8aada 100644
--- a/DbContext.md
+++ b/DbContext.md
@@ -250,6 +250,10 @@ uow.OnEntityChange = report => {
public class ChangeInfo {
public object Object { get; set; }
public EntityChangeType Type { get; set; }
+ ///
+ /// Type = Update 的时候,获取更新之前的对象
+ ///
+ public object BeforeObject { get; set; }
}
public enum EntityChangeType { Insert, Update, Delete, SqlRaw }
```
diff --git a/工作单元.md b/工作单元.md
index e27e613..e6bb7d5 100644
--- a/工作单元.md
+++ b/工作单元.md
@@ -1,14 +1,13 @@
-
UnitOfWork 可将多个仓储放在一个单元管理执行,最终通用 Commit 执行所有操作,内部采用了数据库事务;
```csharp
var connstr = "Data Source=127.0.0.1;Port=3306;User ID=root;Password=root;" +
- "Initial Catalog=cccddd;Charset=utf8;SslMode=none;Max pool size=10";
+ "Initial Catalog=cccddd;Charset=utf8;SslMode=none;Max pool size=10";
static IFreeSql fsql = new FreeSql.FreeSqlBuilder()
- .UseConnectionString(FreeSql.DataType.MySql, connstr)
- .UseAutoSyncStructure(true) //自动同步实体结构到数据库
- .Build(); //请务必定义成 Singleton 单例模式
+ .UseConnectionString(FreeSql.DataType.MySql, connstr)
+ .UseAutoSyncStructure(true) //自动同步实体结构到数据库
+ .Build(); //请务必定义成 Singleton 单例模式
```
## 如何使用
@@ -36,36 +35,36 @@ uow.GetOrBeginTransaction() 方法可获取事务对象。
```csharp
public interface IUnitOfWork : IDisposable {
- DbTransaction GetOrBeginTransaction(bool isCreate = true);
+ DbTransaction GetOrBeginTransaction(bool isCreate = true);
- IsolationLevel? IsolationLevel { get; set; }
+ IsolationLevel? IsolationLevel { get; set; }
- ///
- /// 是否启用工作单元
- ///
- bool Enable { get; }
+ ///
+ /// 是否启用工作单元
+ ///
+ bool Enable { get; }
- void Commit();
+ void Commit();
- void Rollback();
+ void Rollback();
- ///
- /// 禁用工作单元
- ///
- ///
- /// 若已开启事务(已有Insert/Update/Delete操作),调用此方法将发生异常,建议在执行逻辑前调用
- ///
- void Close();
+ ///
+ /// 禁用工作单元
+ ///
+ ///
+ /// 若已开启事务(已有Insert/Update/Delete操作),调用此方法将发生异常,建议在执行逻辑前调用
+ ///
+ void Close();
- ///
- /// 开启工作单元
- ///
- void Open();
+ ///
+ /// 开启工作单元
+ ///
+ void Open();
- ///
- /// 此工作单元内的实体变化跟踪
- ///
- DbContext.EntityChangeReport EntityChangeReport { get; }
+ ///
+ /// 此工作单元内的实体变化跟踪
+ ///
+ DbContext.EntityChangeReport EntityChangeReport { get; }
}
```
@@ -75,9 +74,9 @@ public interface IUnitOfWork : IDisposable {
```csharp
fsql.SetDbContextOptions(opt => {
- opt.OnEntityChange = report => {
- Console.WriteLine(report);
- };
+ opt.OnEntityChange = report => {
+ Console.WriteLine(report);
+ };
});
```
@@ -86,7 +85,7 @@ fsql.SetDbContextOptions(opt => {
```csharp
var uow = fsql.CreateUnitOfWork();
uow.OnEntityChange = report => {
- Console.WriteLine(report);
+ Console.WriteLine(report);
};
```
@@ -94,8 +93,12 @@ uow.OnEntityChange = report => {
```csharp
public class ChangeInfo {
- public object Object { get; set; }
- public EntityChangeType Type { get; set; }
+ public object Object { get; set; }
+ public EntityChangeType Type { get; set; }
+ ///
+ /// Type = Update 的时候,获取更新之前的对象
+ ///
+ public object BeforeObject { get; set; }
}
public enum EntityChangeType { Insert, Update, Delete, SqlRaw }
```