コード例 #1
0
 public static void ExecuteInUoW(Action <MiniSessionService> action, ISessionFactory factory = null)
 {
     factory = factory ?? ServiceLocator.Current.GetInstance <ISessionFactory>();
     using (var manager = new MiniSessionService(factory))
     {
         manager.OpenSessionWithTransaction();
         UoWContext.Push(manager);
         action(manager);
         UoWContext.Pop();
         manager.CommitChanges();
     }
 }
コード例 #2
0
        public static T ExecuteInUoW <T>(Func <MiniSessionService, T> action)
        {
            var factory = ServiceLocator.Current.GetInstance <ISessionFactory>();

            using (var manager = new MiniSessionService(factory))
            {
                manager.OpenSessionWithTransaction();
                UoWContext.Push(manager);
                var result = action(manager);
                UoWContext.Pop();
                manager.CommitChanges();
                return(result);
            }
        }