public static DataContextMoudle <T> GetDataContext(T instance, string database = "DefaultDB") { var connSet = ConfigurationManager.ConnectionStrings[database]; if (connSet == null) { throw new Exception(string.Concat("未配置name为", database, "连接设置")); } DataContextMoudle <T> moudle = null; if (connSet.ProviderName.Equals("MySql.Data.MySqlClient", StringComparison.OrdinalIgnoreCase)) { moudle = new MySqlDataContextMoudle <T>(instance); } else if (connSet.ProviderName.Equals("System.Data.SqlClient", StringComparison.OrdinalIgnoreCase)) { moudle = new MSSqlDataContextMoudle <T>(instance); } else { //moudle= new DataContextMoudle<T>(instance); throw new Exception("找不到对应的数据操作上下文"); } moudle.database = database; return(moudle); }
public static DataContextMoudle <T> OrderByDesc <T>(this DataContextMoudle <T> dataContext, string col) where T : new() { dataContext.orderByList.Add(new DBOrderby { OrderbyColumnName = col, OrderbyDirection = DBOrderbyDirection.desc, }); return(dataContext); }
internal static string GetColNameFromExpression <T>(this DataContextMoudle <T> dataContext, string expressionBody) where T : new() { string propname = varNameReg.Match(expressionBody).Groups[1].Value; var reportattr = dataContext.rpAttrList.Find(p => p.Property.Name.Equals(propname, StringComparison.OrdinalIgnoreCase)); if (reportattr == null) { throw new Exception(string.Format("找不到属性'{0}'对应的表列。", propname)); } return(reportattr.Column); }
public static DataContextMoudle <T> WhereBiger <T>(this DataContextMoudle <T> dataContext, Expression <Func <T, object> > colExpress, object val) where T : new() { return(dataContext.WhereBiger(dataContext.GetColNameFromExpression(colExpress.Body.ToString()), val)); }
public static DataContextMoudle <T> WhereBiger <T>(this DataContextMoudle <T> dataContext, string column, object val) where T : new() { dataContext.selPara.Addp(new Mess_Three <string, string, object>(column, ">", val)); return(dataContext); }
public static DataContextMoudle <T> Top <T>(this DataContextMoudle <T> dataContext, int top) where T : new() { dataContext.topNum = top; return(dataContext); }
public static bool Exists <T>(this DataContextMoudle <T> dataContext) where T : new() { return(dataContext.Exists(dataContext.keyName, dataContext.GetKeyValue())); }
public static bool Exists <T>(this DataContextMoudle <T> dataContext, string column, object val) where T : new() { return(dataContext.WhereEq(column, val).ExecuteEntity() != null); }
public static DataContextMoudle <T> OrderByDesc <T>(this DataContextMoudle <T> dataContext, Expression <Func <T, object> > colExpress) where T : new() { return(dataContext.OrderByDesc <T>(dataContext.GetColNameFromExpression(colExpress.Body.ToString()))); }