今天为了处理批量数据操作写了个简单的NHibernate helper类,支持同一事务的批量数据处理.

简单的NHibernate helper类,支持同一事务的批量数据处理using System;
简单的NHibernate helper类,支持同一事务的批量数据处理
using System.Threading;
简单的NHibernate helper类,支持同一事务的批量数据处理
using System.Collections;
简单的NHibernate helper类,支持同一事务的批量数据处理
using System.Collections.Specialized;
简单的NHibernate helper类,支持同一事务的批量数据处理
简单的NHibernate helper类,支持同一事务的批量数据处理
using Nullables;
简单的NHibernate helper类,支持同一事务的批量数据处理
using Nullables.NHibernate;
简单的NHibernate helper类,支持同一事务的批量数据处理
using NHibernate;
简单的NHibernate helper类,支持同一事务的批量数据处理
using NHibernate.Cfg;
简单的NHibernate helper类,支持同一事务的批量数据处理
简单的NHibernate helper类,支持同一事务的批量数据处理
{

简单的NHibernate helper类,支持同一事务的批量数据处理    
/// 简单的NHibernate Helper类。支持同一事务内的批量数据处理。
简单的NHibernate helper类,支持同一事务的批量数据处理    
/// </summary>
{
简单的NHibernate helper类,支持同一事务的批量数据处理

简单的NHibernate helper类,支持同一事务的批量数据处理        private NHibernate.Cfg.Configuration _cfg = null;
简单的NHibernate helper类,支持同一事务的批量数据处理        
private ISessionFactory _sessionFactory = null;

简单的NHibernate helper类,支持同一事务的批量数据处理        
/// 用于保存线程中的数据库会话。
简单的NHibernate helper类,支持同一事务的批量数据处理        
/// </summary>
简单的NHibernate helper类,支持同一事务的批量数据处理        private HybridDictionary _sessionMap; 
简单的NHibernate helper类,支持同一事务的批量数据处理        
#endregion
简单的NHibernate helper类,支持同一事务的批量数据处理

简单的NHibernate helper类,支持同一事务的批量数据处理        
private static NHHelper _theInstance = null;
{
简单的NHibernate helper类,支持同一事务的批量数据处理            
this._cfg = new NHibernate.Cfg.Configuration();
简单的NHibernate helper类,支持同一事务的批量数据处理            
this._cfg.AddAssembly( "Entities.Assembly" );
简单的NHibernate helper类,支持同一事务的批量数据处理            
this._sessionFactory = this._cfg.BuildSessionFactory();
简单的NHibernate helper类,支持同一事务的批量数据处理            
this._sessionMap = new HybridDictionary();
简单的NHibernate helper类,支持同一事务的批量数据处理        }

简单的NHibernate helper类,支持同一事务的批量数据处理
{
{
{
简单的NHibernate helper类,支持同一事务的批量数据处理                    NHHelper._theInstance 
= new NHHelper();
简单的NHibernate helper类,支持同一事务的批量数据处理                }

简单的NHibernate helper类,支持同一事务的批量数据处理                
return NHHelper._theInstance;
简单的NHibernate helper类,支持同一事务的批量数据处理            }

简单的NHibernate helper类,支持同一事务的批量数据处理        }

简单的NHibernate helper类,支持同一事务的批量数据处理
简单的NHibernate helper类,支持同一事务的批量数据处理        
#endregion
简单的NHibernate helper类,支持同一事务的批量数据处理

{
简单的NHibernate helper类,支持同一事务的批量数据处理            ISession session;
简单的NHibernate helper类,支持同一事务的批量数据处理
{
{
简单的NHibernate helper类,支持同一事务的批量数据处理                    session 
= (ISession)this._sessionMap[Thread.CurrentThread];
{
简单的NHibernate helper类,支持同一事务的批量数据处理                        
if( session.Transaction == null || session.Transaction.WasCommitted || 
{
简单的NHibernate helper类,支持同一事务的批量数据处理                            session.BeginTransaction();
{
简单的NHibernate helper类,支持同一事务的批量数据处理                            
throw new Exception("当前不支持嵌套事务!");
简单的NHibernate helper类,支持同一事务的批量数据处理                        }

简单的NHibernate helper类,支持同一事务的批量数据处理                    }

{
简单的NHibernate helper类,支持同一事务的批量数据处理                    session 
= this._sessionFactory.OpenSession();
简单的NHibernate helper类,支持同一事务的批量数据处理                    session.BeginTransaction();
简单的NHibernate helper类,支持同一事务的批量数据处理                    
this._sessionMap[Thread.CurrentThread] = session;
简单的NHibernate helper类,支持同一事务的批量数据处理                }

简单的NHibernate helper类,支持同一事务的批量数据处理            }

简单的NHibernate helper类,支持同一事务的批量数据处理        }

简单的NHibernate helper类,支持同一事务的批量数据处理
简单的NHibernate helper类,支持同一事务的批量数据处理        
{
简单的NHibernate helper类,支持同一事务的批量数据处理            ISession session;
简单的NHibernate helper类,支持同一事务的批量数据处理
{
{
简单的NHibernate helper类,支持同一事务的批量数据处理                    session 
= (ISession)this._sessionMap[Thread.CurrentThread];
{
简单的NHibernate helper类,支持同一事务的批量数据处理                        
if( session.Transaction == null || session.Transaction.WasCommitted || 
{
简单的NHibernate helper类,支持同一事务的批量数据处理                            
throw new Exception("当前已打开的会话或没有未提交的事务!");
{
{
简单的NHibernate helper类,支持同一事务的批量数据处理                                session.Transaction.Commit();
{
简单的NHibernate helper类,支持同一事务的批量数据处理                                session.Transaction.Rollback();
简单的NHibernate helper类,支持同一事务的批量数据处理                                
throw ex;
{
简单的NHibernate helper类,支持同一事务的批量数据处理                                session.Close();
简单的NHibernate helper类,支持同一事务的批量数据处理                                
this._sessionMap.Remove( Thread.CurrentThread );
简单的NHibernate helper类,支持同一事务的批量数据处理                            }

简单的NHibernate helper类,支持同一事务的批量数据处理                        }

{
简单的NHibernate helper类,支持同一事务的批量数据处理                        
throw new Exception("当前已打开的会话或没有未提交的事务!");
简单的NHibernate helper类,支持同一事务的批量数据处理                    }

{
简单的NHibernate helper类,支持同一事务的批量数据处理                    
throw new Exception("当前已打开的会话或没有未提交的事务!");
简单的NHibernate helper类,支持同一事务的批量数据处理                }

简单的NHibernate helper类,支持同一事务的批量数据处理            }

简单的NHibernate helper类,支持同一事务的批量数据处理        }

简单的NHibernate helper类,支持同一事务的批量数据处理
简单的NHibernate helper类,支持同一事务的批量数据处理        
{
简单的NHibernate helper类,支持同一事务的批量数据处理            ISession session;
简单的NHibernate helper类,支持同一事务的批量数据处理
{
{
简单的NHibernate helper类,支持同一事务的批量数据处理                    session 
= (ISession)this._sessionMap[Thread.CurrentThread];
{
简单的NHibernate helper类,支持同一事务的批量数据处理                        
if( session.Transaction == null || session.Transaction.WasCommitted || 
{
简单的NHibernate helper类,支持同一事务的批量数据处理                            
throw new Exception("当前已打开的会话或没有未提交的事务!");
{
{
简单的NHibernate helper类,支持同一事务的批量数据处理                                session.Transaction.Rollback();
{
简单的NHibernate helper类,支持同一事务的批量数据处理                                
throw ex;
{
简单的NHibernate helper类,支持同一事务的批量数据处理                                session.Close();
简单的NHibernate helper类,支持同一事务的批量数据处理                                
this._sessionMap.Remove( Thread.CurrentThread );
简单的NHibernate helper类,支持同一事务的批量数据处理                            }

简单的NHibernate helper类,支持同一事务的批量数据处理                        }

{
简单的NHibernate helper类,支持同一事务的批量数据处理                        
throw new Exception("当前已打开的会话或没有未提交的事务!");
简单的NHibernate helper类,支持同一事务的批量数据处理                    }

{
简单的NHibernate helper类,支持同一事务的批量数据处理                    
throw new Exception("当前已打开的会话或没有未提交的事务!");
简单的NHibernate helper类,支持同一事务的批量数据处理                }

简单的NHibernate helper类,支持同一事务的批量数据处理            }

简单的NHibernate helper类,支持同一事务的批量数据处理        }

简单的NHibernate helper类,支持同一事务的批量数据处理        
简单的NHibernate helper类,支持同一事务的批量数据处理        
简单的NHibernate helper类,支持同一事务的批量数据处理        
#endregion
简单的NHibernate helper类,支持同一事务的批量数据处理        

{
简单的NHibernate helper类,支持同一事务的批量数据处理            
bool autoCommit = true;
简单的NHibernate helper类,支持同一事务的批量数据处理
简单的NHibernate helper类,支持同一事务的批量数据处理            ISession session;
简单的NHibernate helper类,支持同一事务的批量数据处理            
{
{
简单的NHibernate helper类,支持同一事务的批量数据处理                    session 
= (ISession)this._sessionMap[Thread.CurrentThread];
简单的NHibernate helper类,支持同一事务的批量数据处理                    
if(  session.Transaction == null || session.Transaction.WasCommitted || 
{
简单的NHibernate helper类,支持同一事务的批量数据处理                        autoCommit 
= true;
{
简单的NHibernate helper类,支持同一事务的批量数据处理                        autoCommit 
= false;
简单的NHibernate helper类,支持同一事务的批量数据处理                    }

{
简单的NHibernate helper类,支持同一事务的批量数据处理                    session 
= this._sessionFactory.OpenSession();
简单的NHibernate helper类,支持同一事务的批量数据处理                    session.BeginTransaction();
简单的NHibernate helper类,支持同一事务的批量数据处理                }

简单的NHibernate helper类,支持同一事务的批量数据处理            }

简单的NHibernate helper类,支持同一事务的批量数据处理
{
简单的NHibernate helper类,支持同一事务的批量数据处理                session.Save( entity );
{
简单的NHibernate helper类,支持同一事务的批量数据处理                    session.Transaction.Commit();
简单的NHibernate helper类,支持同一事务的批量数据处理                    session.Close();
简单的NHibernate helper类,支持同一事务的批量数据处理                }

{
{
简单的NHibernate helper类,支持同一事务的批量数据处理                    session.Transaction.Rollback();
{
{
简单的NHibernate helper类,支持同一事务的批量数据处理                    session.Close();
简单的NHibernate helper类,支持同一事务的批量数据处理                }

简单的NHibernate helper类,支持同一事务的批量数据处理                
throw ex;
简单的NHibernate helper类,支持同一事务的批量数据处理            }

简单的NHibernate helper类,支持同一事务的批量数据处理        }

简单的NHibernate helper类,支持同一事务的批量数据处理
简单的NHibernate helper类,支持同一事务的批量数据处理
{
简单的NHibernate helper类,支持同一事务的批量数据处理            
bool autoCommit = true;
简单的NHibernate helper类,支持同一事务的批量数据处理
简单的NHibernate helper类,支持同一事务的批量数据处理            ISession session;
简单的NHibernate helper类,支持同一事务的批量数据处理            
{
{
简单的NHibernate helper类,支持同一事务的批量数据处理                    session 
= (ISession)this._sessionMap[Thread.CurrentThread];
简单的NHibernate helper类,支持同一事务的批量数据处理                    
if(  session.Transaction == null || session.Transaction.WasCommitted || 
{
简单的NHibernate helper类,支持同一事务的批量数据处理                        autoCommit 
= true;
{
简单的NHibernate helper类,支持同一事务的批量数据处理                        autoCommit 
= false;
简单的NHibernate helper类,支持同一事务的批量数据处理                    }

{
简单的NHibernate helper类,支持同一事务的批量数据处理                    session 
= this._sessionFactory.OpenSession();
简单的NHibernate helper类,支持同一事务的批量数据处理                    session.BeginTransaction();
简单的NHibernate helper类,支持同一事务的批量数据处理                }

简单的NHibernate helper类,支持同一事务的批量数据处理            }

简单的NHibernate helper类,支持同一事务的批量数据处理
{
简单的NHibernate helper类,支持同一事务的批量数据处理                session.Update( entity, key );
{
简单的NHibernate helper类,支持同一事务的批量数据处理                    session.Transaction.Commit();
简单的NHibernate helper类,支持同一事务的批量数据处理                    session.Close();
简单的NHibernate helper类,支持同一事务的批量数据处理                }

{
{
简单的NHibernate helper类,支持同一事务的批量数据处理                    session.Transaction.Rollback();
{
{
简单的NHibernate helper类,支持同一事务的批量数据处理                    session.Close();
简单的NHibernate helper类,支持同一事务的批量数据处理                }

简单的NHibernate helper类,支持同一事务的批量数据处理                
throw ex;
简单的NHibernate helper类,支持同一事务的批量数据处理            }
        
简单的NHibernate helper类,支持同一事务的批量数据处理        }

简单的NHibernate helper类,支持同一事务的批量数据处理
简单的NHibernate helper类,支持同一事务的批量数据处理
{
简单的NHibernate helper类,支持同一事务的批量数据处理            
bool autoCommit = true;
简单的NHibernate helper类,支持同一事务的批量数据处理
简单的NHibernate helper类,支持同一事务的批量数据处理            ISession session;
简单的NHibernate helper类,支持同一事务的批量数据处理            
{
{
简单的NHibernate helper类,支持同一事务的批量数据处理                    session 
= (ISession)this._sessionMap[Thread.CurrentThread];
简单的NHibernate helper类,支持同一事务的批量数据处理                    
if(  session.Transaction == null || session.Transaction.WasCommitted || 
{
简单的NHibernate helper类,支持同一事务的批量数据处理                        autoCommit 
= true;
{
简单的NHibernate helper类,支持同一事务的批量数据处理                        autoCommit 
= false;
简单的NHibernate helper类,支持同一事务的批量数据处理                    }

{
简单的NHibernate helper类,支持同一事务的批量数据处理                    session 
= this._sessionFactory.OpenSession();
简单的NHibernate helper类,支持同一事务的批量数据处理                    session.BeginTransaction();
简单的NHibernate helper类,支持同一事务的批量数据处理                }

简单的NHibernate helper类,支持同一事务的批量数据处理            }

简单的NHibernate helper类,支持同一事务的批量数据处理
{
简单的NHibernate helper类,支持同一事务的批量数据处理                session.Delete( entity );
{
简单的NHibernate helper类,支持同一事务的批量数据处理                    session.Transaction.Commit();
简单的NHibernate helper类,支持同一事务的批量数据处理                    session.Close();
简单的NHibernate helper类,支持同一事务的批量数据处理                }

{
{
简单的NHibernate helper类,支持同一事务的批量数据处理                    session.Transaction.Rollback();
{
{
简单的NHibernate helper类,支持同一事务的批量数据处理                    session.Close();
简单的NHibernate helper类,支持同一事务的批量数据处理                }

简单的NHibernate helper类,支持同一事务的批量数据处理                
throw ex;
简单的NHibernate helper类,支持同一事务的批量数据处理            }
        
简单的NHibernate helper类,支持同一事务的批量数据处理        }

简单的NHibernate helper类,支持同一事务的批量数据处理
简单的NHibernate helper类,支持同一事务的批量数据处理
{
简单的NHibernate helper类,支持同一事务的批量数据处理            
bool autoCommit = true;
简单的NHibernate helper类,支持同一事务的批量数据处理
简单的NHibernate helper类,支持同一事务的批量数据处理            ISession session;
简单的NHibernate helper类,支持同一事务的批量数据处理            
{
{
简单的NHibernate helper类,支持同一事务的批量数据处理                    session 
= (ISession)this._sessionMap[Thread.CurrentThread];
简单的NHibernate helper类,支持同一事务的批量数据处理                    
if(  session.Transaction == null || session.Transaction.WasCommitted || 
{
简单的NHibernate helper类,支持同一事务的批量数据处理                        autoCommit 
= true;
{
简单的NHibernate helper类,支持同一事务的批量数据处理                        autoCommit 
= false;
简单的NHibernate helper类,支持同一事务的批量数据处理                    }

{
简单的NHibernate helper类,支持同一事务的批量数据处理                    session 
= this._sessionFactory.OpenSession();
简单的NHibernate helper类,支持同一事务的批量数据处理                    session.BeginTransaction();
简单的NHibernate helper类,支持同一事务的批量数据处理                }

简单的NHibernate helper类,支持同一事务的批量数据处理            }

简单的NHibernate helper类,支持同一事务的批量数据处理
{
简单的NHibernate helper类,支持同一事务的批量数据处理                session.SaveOrUpdate( entity );
{
简单的NHibernate helper类,支持同一事务的批量数据处理                    session.Transaction.Commit();
简单的NHibernate helper类,支持同一事务的批量数据处理                    session.Close();
简单的NHibernate helper类,支持同一事务的批量数据处理                }

{
{
简单的NHibernate helper类,支持同一事务的批量数据处理                    session.Transaction.Rollback();
{
{
简单的NHibernate helper类,支持同一事务的批量数据处理                    session.Close();
简单的NHibernate helper类,支持同一事务的批量数据处理                }

简单的NHibernate helper类,支持同一事务的批量数据处理                
throw ex;
简单的NHibernate helper类,支持同一事务的批量数据处理            }
        
简单的NHibernate helper类,支持同一事务的批量数据处理        }

简单的NHibernate helper类,支持同一事务的批量数据处理
简单的NHibernate helper类,支持同一事务的批量数据处理
{
简单的NHibernate helper类,支持同一事务的批量数据处理            
this.BeginTransaction();
简单的NHibernate helper类,支持同一事务的批量数据处理
{
{
简单的NHibernate helper类,支持同一事务的批量数据处理                    
this.Save(entity);
简单的NHibernate helper类,支持同一事务的批量数据处理                }

简单的NHibernate helper类,支持同一事务的批量数据处理                
简单的NHibernate helper类,支持同一事务的批量数据处理                
this.CommitTransaction();
{
简单的NHibernate helper类,支持同一事务的批量数据处理                
this.RollbackTransaction();
简单的NHibernate helper类,支持同一事务的批量数据处理                
throw ex;
简单的NHibernate helper类,支持同一事务的批量数据处理            }

简单的NHibernate helper类,支持同一事务的批量数据处理        }

简单的NHibernate helper类,支持同一事务的批量数据处理
简单的NHibernate helper类,支持同一事务的批量数据处理
{
简单的NHibernate helper类,支持同一事务的批量数据处理            
this.BeginTransaction();
简单的NHibernate helper类,支持同一事务的批量数据处理
{
{
简单的NHibernate helper类,支持同一事务的批量数据处理                    
this.Save(entity);
简单的NHibernate helper类,支持同一事务的批量数据处理                }

简单的NHibernate helper类,支持同一事务的批量数据处理                
简单的NHibernate helper类,支持同一事务的批量数据处理                
this.CommitTransaction();
{
简单的NHibernate helper类,支持同一事务的批量数据处理                
this.RollbackTransaction();
简单的NHibernate helper类,支持同一事务的批量数据处理                
throw ex;
简单的NHibernate helper类,支持同一事务的批量数据处理            }

简单的NHibernate helper类,支持同一事务的批量数据处理        }

简单的NHibernate helper类,支持同一事务的批量数据处理        
简单的NHibernate helper类,支持同一事务的批量数据处理        
{
简单的NHibernate helper类,支持同一事务的批量数据处理            
object entity = null;
简单的NHibernate helper类,支持同一事务的批量数据处理            
简单的NHibernate helper类,支持同一事务的批量数据处理            
bool closeSession = true;
简单的NHibernate helper类,支持同一事务的批量数据处理            ISession session;
简单的NHibernate helper类,支持同一事务的批量数据处理            
{
简单的NHibernate helper类,支持同一事务的批量数据处理                
ifthis._sessionMap[Thread.CurrentThread] != null && 
{
简单的NHibernate helper类,支持同一事务的批量数据处理                    session 
= (ISession)this._sessionMap[Thread.CurrentThread];
简单的NHibernate helper类,支持同一事务的批量数据处理                    closeSession 
= false;
{
简单的NHibernate helper类,支持同一事务的批量数据处理                    session 
= this._sessionFactory.OpenSession();
简单的NHibernate helper类,支持同一事务的批量数据处理                    closeSession 
= true;
简单的NHibernate helper类,支持同一事务的批量数据处理                }

简单的NHibernate helper类,支持同一事务的批量数据处理            }

简单的NHibernate helper类,支持同一事务的批量数据处理
{
简单的NHibernate helper类,支持同一事务的批量数据处理                entity 
= session.Get( entityType, id );
{
简单的NHibernate helper类,支持同一事务的批量数据处理                closeSession 
= true;
简单的NHibernate helper类,支持同一事务的批量数据处理                
throw ex;
{
简单的NHibernate helper类,支持同一事务的批量数据处理                
if( closeSession ) session.Close();
简单的NHibernate helper类,支持同一事务的批量数据处理            }

简单的NHibernate helper类,支持同一事务的批量数据处理            
简单的NHibernate helper类,支持同一事务的批量数据处理            
return entity;
简单的NHibernate helper类,支持同一事务的批量数据处理        }

简单的NHibernate helper类,支持同一事务的批量数据处理
简单的NHibernate helper类,支持同一事务的批量数据处理        
#endregion
简单的NHibernate helper类,支持同一事务的批量数据处理    }

简单的NHibernate helper类,支持同一事务的批量数据处理}

简单的NHibernate helper类,支持同一事务的批量数据处理

相关文章:

  • 2021-10-14
  • 2021-09-09
  • 2021-07-25
  • 2022-03-08
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-10-31
  • 2021-09-27
  • 2021-07-25
  • 2021-11-27
  • 2021-08-22
相关资源
相似解决方案