Example #1
0
 public virtual void Save(IReadOnlyCollection <T> objs)
 {
     if (objs.Count == 0)
     {
         return;
     }
     foreach (T obj in objs)
     {
         BeginSaveCallback?.Invoke(obj);
     }
     lock (globalDBLock)
     {
         using (var session = DatabaseFactory.SessionFactory.OpenSession())
         {
             using (var transaction = session.BeginTransaction())
             {
                 foreach (T obj in objs)
                 {
                     session.SaveOrUpdate(obj);
                     SaveWithOpenTransactionCallback?.Invoke(session.Wrap(), obj);
                     lock (Cache)
                     {
                         Cache.Update(obj);
                     }
                 }
                 transaction.Commit();
             }
         }
     }
     foreach (T obj in objs)
     {
         EndSaveCallback?.Invoke(obj);
     }
 }
Example #2
0
 public virtual void Save(List <T> objs)
 {
     if (objs.Count == 0)
     {
         return;
     }
     foreach (T obj in objs)
     {
         BeginSaveCallback?.Invoke(obj);
     }
     using (var session = JMMService.SessionFactory.OpenSession())
     {
         using (var transaction = session.BeginTransaction())
         {
             foreach (T obj in objs)
             {
                 session.SaveOrUpdate(obj);
                 SaveWithOpenTransactionCallback?.Invoke(session, obj);
             }
             transaction.Commit();
         }
     }
     foreach (T obj in objs)
     {
         EndSaveCallback?.Invoke(obj);
     }
 }
Example #3
0
 public virtual void Save(T obj)
 {
     BeginSaveCallback?.Invoke(obj);
     using (var session = DatabaseFactory.SessionFactory.OpenSession())
     {
         using (var transaction = session.BeginTransaction())
         {
             session.SaveOrUpdate(obj);
             SaveWithOpenTransactionCallback?.Invoke(session.Wrap(), obj);
             transaction.Commit();
         }
     }
     EndSaveCallback?.Invoke(obj);
 }
Example #4
0
 public virtual void Save(T obj)
 {
     BeginSaveCallback?.Invoke(obj);
     using (var session = JMMService.SessionFactory.OpenSession())
     {
         using (var transaction = session.BeginTransaction())
         {
             SaveWithOpenTransactionCallback?.Invoke(session, obj);
             session.SaveOrUpdate(obj);
             transaction.Commit();
         }
     }
     Cache.Update(obj);
     EndSaveCallback?.Invoke(obj);
 }
Example #5
0
 public virtual void Save(T obj)
 {
     BeginSaveCallback?.Invoke(obj);
     lock (globalDBLock)
     {
         lock (obj)
         {
             using (var session = DatabaseFactory.SessionFactory.OpenSession())
             {
                 using (var transaction = session.BeginTransaction())
                 {
                     SaveWithOpenTransactionCallback?.Invoke(session.Wrap(), obj);
                     session.SaveOrUpdate(obj);
                     transaction.Commit();
                 }
             }
             lock (Cache)
             {
                 Cache.Update(obj);
             }
         }
     }
     EndSaveCallback?.Invoke(obj);
 }