public ServiceBase(IConnectionManagerEx manager) { _Manager = manager; _Manager.TransactionOpened += new Action <DbTransaction>(manager_TransactionOpened); _Manager.TransactionClosed += new Action(manager_TransactionClosed); _Connection = _Manager.Connection; }
private T _CreateContext <T, TManager>(bool isData, bool readOnly = false) where T : DataContextEx where TManager : IConnectionManagerEx { IConnectionManagerEx manager = Host.Container.Resolve <TManager>(); T result = default(T); if (manager.Transaction == null && readOnly) { result = Activator.CreateInstance(typeof(T), manager.Connection) as T; result.ObjectTrackingEnabled = false; manager.RegisterContext(result); return(result); } result = Activator.CreateInstance(typeof(T), manager.Connection) as T; result.Transaction = manager.Transaction; manager.RegisterContext(result); return(result); }
private static T _CreateContext <T>(TargetDatabase database, bool readOnly = false) where T : DataContextEx { IConnectionManagerEx manager = null; switch (database) { case TargetDatabase.Data: manager = Host.Container.Resolve <IDataConnectionManager>(); break; } T result = default(T); if (manager.Transaction == null && readOnly) { result = Activator.CreateInstance(typeof(T), manager.Connection) as T; result.ObjectTrackingEnabled = false; manager.RegisterContext(result); return(result); } result = Activator.CreateInstance(typeof(T), manager.Connection) as T; result.Transaction = manager.Transaction; manager.RegisterContext(result); return(result); }
public DTServiceBase(IConnectionManagerEx manager, bool trackingEnabled = true) : base(manager, trackingEnabled) { }