//static DBContext() //{ // contenxtCache = new Dictionary<string, TM_SaaS_OA_EFModelContext>(); // dictionaryThread = new Dictionary<string, List<object>>(); // dictionaryThread_Te = new Dictionary<object, string>(); // transactionList = new List<string>(); //} ////public static Dictionary<string, TM_SaaS_OA_EFModelContext> contenxtCache; //public static Dictionary<string, List<object>> dictionaryThread; //public static Dictionary<object, string> dictionaryThread_Te; //public static List<string> transactionList; //private static object lockObj = new object(); //public static TM_SaaS_OA_EFModelContext CreateObjectContext() //{ // return new TM_SaaS_OA_EFModelContext(); //} //public static TM_SaaS_OA_EFModelContext GetObjectContext(object obj) //{ // TM_SaaS_OA_EFModelContext dbinstance = new TM_SaaS_OA_EFModelContext(); // //string threadName = Thread.CurrentThread.Name; // //if (threadName!= null && contenxtCache.ContainsKey(threadName)) // //{ // // dbinstance = contenxtCache[threadName]; // //} // //else // //{ // // if (threadName == null) // // { // // threadName = Guid.NewGuid().ToString(); // // Thread.CurrentThread.Name = threadName; // // } // // dbinstance = new TM_SaaS_OA_EFModelContext(); // // dbinstance.CommandTimeout = 180; // // //db.Log = Console.Out; // // //dbinstance.Log = Console.Out; // // //dbinstance.ObjectTrackingEnabled = false; // // contenxtCache.Add(threadName, dbinstance); // //} // //RegisterObj(obj); // return dbinstance; //} //public static TM_SaaS_OA_EFModelContext GetObjectContext() //{ // //string threadName = Thread.CurrentThread.Name; // //if (threadName != null) // //{ // // return contenxtCache[threadName]; // //} // //else // //{ // return new TM_SaaS_OA_EFModelContext(); // //} //} //private static void RegisterObj(object obj) //{ // string threadName = Thread.CurrentThread.Name; // List<object> list = null; // if (dictionaryThread.ContainsKey(threadName)) // { // list = dictionaryThread[threadName]; // } // else // { // list = new List<object>(); // dictionaryThread.Add(threadName, list); // } // list.Add(obj); //} //public static void UnregisterObj(object obj) //{ // // SMT.Foundation.Log.Tracer.Warn(System.DateTime.Now.ToString("yyyy-MM-dd") + " : " + "释放ObjectContext"); // string threadName = Thread.CurrentThread.Name; // if (threadName == null || !dictionaryThread.ContainsKey(threadName)) // { // return; // } // List<object> list = dictionaryThread[threadName]; // list.Remove(obj); // if (list.Count == 0) // { // dictionaryThread.Remove(threadName); // TM_SaaS_OA_EFModelContext tempDC = contenxtCache[threadName]; // tempDC.Dispose(); // GC.SuppressFinalize(tempDC); // tempDC = null; // contenxtCache.Remove(threadName); // Thread.CurrentThread.Name = null; // SMT.Foundation.Log.Tracer.Warn("UnregisterObj, 释放:" + threadName); // } //} //public static string ManualRegister() //{ // lock (lockObj) // { // string threadName = Thread.CurrentThread.Name; // if (string.IsNullOrEmpty(threadName)) // { // threadName = Guid.NewGuid().ToString(); // Thread.CurrentThread.Name = threadName; // } // if (!contenxtCache.ContainsKey(threadName)) // { // TM_SaaS_OA_EFModelContext dbinstance = new TM_SaaS_OA_EFModelContext(); // dbinstance.CommandTimeout = 180; // contenxtCache.Add(threadName, dbinstance); // } // return threadName; // } //} //public static void ManualUnRegister(string threadName) //{ // lock (lockObj) // { // if (contenxtCache.ContainsKey(threadName)) // { // TM_SaaS_OA_EFModelContext tempDC = contenxtCache[threadName]; // //if (tempDC.Connection.State == System.Data.ConnectionState.Open) // //{ // // tempDC.Connection.Close(); // //} // contenxtCache.Remove(threadName); // GC.SuppressFinalize(tempDC); // } // } //} #region 事务中不嵌套事务 public static DbTransaction BeginTransaction(TM_SaaS_OA_EFModelContext mc) { //string threadName = Thread.CurrentThread.Name; //if (transactionList.Contains(threadName)) //{ // return null; //} //transactionList.Add(threadName); if (mc.Connection.State == System.Data.ConnectionState.Closed) { mc.Connection.Open(); } DbTransaction dbt = mc.Connection.BeginTransaction(); return(dbt); }
public static void Main(){ using (TM_SaaS_OA_EFModelContext context = new TM_SaaS_OA_EFModelContext()) { var q = from ent in context.T_SYS_FILELIST select ent; if (q.Count() > 0) { } T_SYS_FILELIST file = new T_SYS_FILELIST(); file.SMTFILELISTID = Guid.NewGuid().ToString(); file.FILENAME = "test"; context.AddToT_SYS_FILELIST(file); context.SaveChanges(); } }
/// <summary> /// 删除实体 /// </summary> /// <param name="url">路径如:\SMT\OA\TaskManager\2010122303190771495486.txt</param> /// <returns></returns> public int DeleteEntityByUrl(string url) { int result = 0; #region 除从表 TM_SaaS_OA_EFModelContext edc = new TM_SaaS_OA_EFModelContext(); var entity = from det in edc.T_SYS_FILELIST where det.FILEURL == url select det; //找出原有的实体 if (entity.Count() > 0) { var det = entity.FirstOrDefault(); //DataContext.DeleteObject(det); //result = DataContext.SaveChanges(); edc.DeleteObject(det); result = edc.SaveChanges(); } return(result > 0 ? 1 : 0); #endregion }
/// <summary> /// 增加实体 /// </summary> /// <param name="entity"></param> /// <returns></returns> public int AddEntity(T_SYS_FILELIST entity) { int result = 0; #region try { if (entity != null) { entity.CREATETIME = System.DateTime.Now; TM_SaaS_OA_EFModel.TM_SaaS_OA_EFModelContext edc = new TM_SaaS_OA_EFModelContext(); edc.AddToT_SYS_FILELIST(entity); result = edc.SaveChanges(); } } catch (Exception e) { throw new Exception(e.Message); } return(result > 0 ? 1 : 0); #endregion }
private void test(){ using (TM_SaaS_OA_EFModelContext context = new TM_SaaS_OA_EFModelContext()) { } }
//static DBContext() //{ // contenxtCache = new Dictionary<string, TM_SaaS_OA_EFModelContext>(); // dictionaryThread = new Dictionary<string, List<object>>(); // dictionaryThread_Te = new Dictionary<object, string>(); // transactionList = new List<string>(); //} ////public static Dictionary<string, TM_SaaS_OA_EFModelContext> contenxtCache; //public static Dictionary<string, List<object>> dictionaryThread; //public static Dictionary<object, string> dictionaryThread_Te; //public static List<string> transactionList; //private static object lockObj = new object(); //public static TM_SaaS_OA_EFModelContext CreateObjectContext() //{ // return new TM_SaaS_OA_EFModelContext(); //} //public static TM_SaaS_OA_EFModelContext GetObjectContext(object obj) //{ // TM_SaaS_OA_EFModelContext dbinstance = new TM_SaaS_OA_EFModelContext(); // //string threadName = Thread.CurrentThread.Name; // //if (threadName!= null && contenxtCache.ContainsKey(threadName)) // //{ // // dbinstance = contenxtCache[threadName]; // //} // //else // //{ // // if (threadName == null) // // { // // threadName = Guid.NewGuid().ToString(); // // Thread.CurrentThread.Name = threadName; // // } // // dbinstance = new TM_SaaS_OA_EFModelContext(); // // dbinstance.CommandTimeout = 180; // // //db.Log = Console.Out; // // //dbinstance.Log = Console.Out; // // //dbinstance.ObjectTrackingEnabled = false; // // contenxtCache.Add(threadName, dbinstance); // //} // //RegisterObj(obj); // return dbinstance; //} //public static TM_SaaS_OA_EFModelContext GetObjectContext() //{ // //string threadName = Thread.CurrentThread.Name; // //if (threadName != null) // //{ // // return contenxtCache[threadName]; // //} // //else // //{ // return new TM_SaaS_OA_EFModelContext(); // //} //} //private static void RegisterObj(object obj) //{ // string threadName = Thread.CurrentThread.Name; // List<object> list = null; // if (dictionaryThread.ContainsKey(threadName)) // { // list = dictionaryThread[threadName]; // } // else // { // list = new List<object>(); // dictionaryThread.Add(threadName, list); // } // list.Add(obj); //} //public static void UnregisterObj(object obj) //{ // // SMT.Foundation.Log.Tracer.Warn(System.DateTime.Now.ToString("yyyy-MM-dd") + " : " + "释放ObjectContext"); // string threadName = Thread.CurrentThread.Name; // if (threadName == null || !dictionaryThread.ContainsKey(threadName)) // { // return; // } // List<object> list = dictionaryThread[threadName]; // list.Remove(obj); // if (list.Count == 0) // { // dictionaryThread.Remove(threadName); // TM_SaaS_OA_EFModelContext tempDC = contenxtCache[threadName]; // tempDC.Dispose(); // GC.SuppressFinalize(tempDC); // tempDC = null; // contenxtCache.Remove(threadName); // Thread.CurrentThread.Name = null; // SMT.Foundation.Log.Tracer.Warn("UnregisterObj, 释放:" + threadName); // } //} //public static string ManualRegister() //{ // lock (lockObj) // { // string threadName = Thread.CurrentThread.Name; // if (string.IsNullOrEmpty(threadName)) // { // threadName = Guid.NewGuid().ToString(); // Thread.CurrentThread.Name = threadName; // } // if (!contenxtCache.ContainsKey(threadName)) // { // TM_SaaS_OA_EFModelContext dbinstance = new TM_SaaS_OA_EFModelContext(); // dbinstance.CommandTimeout = 180; // contenxtCache.Add(threadName, dbinstance); // } // return threadName; // } //} //public static void ManualUnRegister(string threadName) //{ // lock (lockObj) // { // if (contenxtCache.ContainsKey(threadName)) // { // TM_SaaS_OA_EFModelContext tempDC = contenxtCache[threadName]; // //if (tempDC.Connection.State == System.Data.ConnectionState.Open) // //{ // // tempDC.Connection.Close(); // //} // contenxtCache.Remove(threadName); // GC.SuppressFinalize(tempDC); // } // } //} #region 事务中不嵌套事务 public static DbTransaction BeginTransaction(TM_SaaS_OA_EFModelContext mc) { //string threadName = Thread.CurrentThread.Name; //if (transactionList.Contains(threadName)) //{ // return null; //} //transactionList.Add(threadName); if (mc.Connection.State == System.Data.ConnectionState.Closed) { mc.Connection.Open(); } DbTransaction dbt = mc.Connection.BeginTransaction(); return dbt; }
public BaseDAL(bool isSolo) { _lbc = new TM_SaaS_OA_EFModelContext(); }