Exemple #1
0
 public DBContext(NHConfigFactory.DBConfig cfg)
 {
     mCreateDate = DateTime.Now;
     mID = Guid.NewGuid();
     //Common.General.DALoger.Error("創建DBContext,ID=" + mID.ToString());
     switch (cfg)
     {
         case NHConfigFactory.DBConfig.PPC:
             mSession = mHBPMS_SQLiteFactory.CreateSession();
             break;
         case NHConfigFactory.DBConfig.PLCDATA:
             mSession = mPLCDATA_SQLiteFactory.CreateSession();
             break;
         case NHConfigFactory.DBConfig.HBIMSN:
             mSession = mHBPMS_SQLServerFactory.CreateSession();
             break;
         case NHConfigFactory.DBConfig.PLMDB:
             mSession = mPLMDB_SQLServerFactory.CreateSession();
             break;
         case NHConfigFactory.DBConfig.ICPDB:
             mSession = mICPDB_SQLServerFactory.CreateSession();
             break;
         default:
             break;
     }
     mSession.FlushMode = FlushMode.Commit;
     mCanCommit = true;
     mAutoCommit = false;
 }
Exemple #2
0
        /// <summary>
        ///  創建DBContext,并開啟事務,自動提交數據
        /// </summary>
        /// <param name="cfg"></param>
        /// <returns></returns>
        public static DBContext Begin(NHConfigFactory.DBConfig cfg)
        {
            DBContext dbContext = new DBContext(cfg);
            dbContext.AutoCommit = true;
            try
            {
                bool success = false;
                while (!success)
                {
                    dbContext._transaction = dbContext.BeginTransaction();
                    Thread.Sleep(10);
                    success = true;
                }
            }
            catch (Exception ex)
            {
                Common.General.DALoger.Error("創建DBContext開啟事務時出錯", ex);
                throw;

            }
            return dbContext;
        }