此事务处理支持两种机制,一种是使用Add...与Process()的一次性提交机制 另一种是使用Do..与Commit()或RollBack()的实时提交机制 两种机制不能混合使用,即要是使用Process()方式 的,那么只能使用Add的方法 如果是使用Commit()的话,则只能用Do方法,因此在使用时需要注意。
AddDeleteCriteria | 在任务中增加一个DeleteCriteria任务 |
AddDeleteObject | 在任务中增加一个Delete任务 |
AddSaveObject | 在任务中增加一个Save任务 |
AddSqlString | 添加SQL的事务处理功能(单数据库) add by tintown |
AddUpdateCriteria | 在任务中增加一个UpdateCriteria任务 |
Clear | 清除所有加入到事务里的对象 |
Commit | 提交事务 |
DoDeleteCriteria | 已重载。 在事务中执行删除标准操作 |
DoDeleteObject | 已重载。 在事务中执行实体删除操作 |
DoRetrieveCriteria | 在事务中执行RetrieveCriteria查询 |
DoRetrieveObject | 在事务中进行实体查询(在执行后实体本身会被赋上值) |
DoSaveObject | 已重载。 执行保存对象操作 |
DoSqlNonQueryString | 已重载。 在事务中执行非查询SQL语句 |
DoSqlQueryString | 在事务中执行查询SQL语句 |
DoUpdateCriteria | 已重载。 在事务中执行更新标准操作 |
Equals (从 Object 继承) | |
GetHashCode (从 Object 继承) | |
GetType (从 Object 继承) | |
Process | 事务处理 |
RollBack | 回滚事务 |
ToString (从 Object 继承) |
try{
Transaction t = new Transaction(); //定义事物
RetrieveCriteria rc=new RetrieveCriteria(typeof(StuffStoreEntity));
Condition cpp = rc.GetNewCondition();
cpp.AddEqualTo(StuffStoreEntity.__STORAGE_ID,_StoreCheckEntity.Storage_ID.ToString());
rc.OrderBy(StuffStoreEntity.__STUFFSTORE_ID);
t.DoRetrieveCriteria(rc);
UpdateCriteria uc=new UpdateCriteria(typeof(StuffStoreEntity));
uc. AddAttributeForUpdate(StuffStoreEntity.__STUFFSTORE_COUNT,Convert.ToDecimal(dtDetail.Rows[i]["StoreCheckDetail_CheckWeight"]));
Condition c=uc.GetNewCondition();
c.AddEqualTo(StuffStoreEntity.__STUFFSTORE_ID,Convert.ToInt32(dtStore.Rows[0]["StuffStore_ID"]));
t.DoUpdateCriteria(uc);
t.Commit();
}
catch(Exception ex)
{
t.RollBack();
throw new Exception(ex.ToString());
}