예제 #1
0
        internal static ObProperty Create(Type mt, IObRedefine iObRedefine, MethodBase currentMethod)
        {
            var propertyInfo = mt.ToPropertyInfo(currentMethod);

            return(iObRedefine == null
                ? new ObProperty(mt, mt.ToTableName(), propertyInfo.Name)
                : new ObProperty(mt, mt.ToTableName(iObRedefine.Models), propertyInfo.Name));
        }
예제 #2
0
 protected SqlBuilderBase(IObRedefine iObRedefine, IList <string> notJoinModels)
 {
     ModelType     = typeof(TModel);
     TableName     = ModelType.ToTableName(iObRedefine.Models, out var extra);
     TableExtra    = extra;
     TableNames    = iObRedefine.Models;
     NotJoinModels = notJoinModels;
 }
예제 #3
0
        public static ObProperty Create <TModel>(IObRedefine iObRedefine, MethodBase currentMethod)
        {
            var propertyInfo = typeof(TModel).ToPropertyInfo(currentMethod);

            return(iObRedefine == null
                ? new ObProperty(typeof(TModel), typeof(TModel).ToTableName(), propertyInfo.Name)
                : new ObProperty(typeof(TModel), typeof(TModel).ToTableName(iObRedefine.Models), propertyInfo.Name));
        }
예제 #4
0
        public static ObProperty Create2 <TModel>(IObRedefine iObRedefine)
        {
            var method       = new StackFrame(1, false).GetMethod();
            var propertyInfo = typeof(TModel).ToPropertyInfo(method);

            return(iObRedefine == null
                ? new ObProperty(typeof(TModel), typeof(TModel).ToTableName(), propertyInfo.Name)
                : new ObProperty(typeof(TModel), typeof(TModel).ToTableName(iObRedefine.Models), propertyInfo.Name));
        }
예제 #5
0
 /// <summary>
 /// 创建数据库操作接口,传入数据库连接字符串和数据库操作类库名称,方便数据库连接字符串加密存储
 /// </summary>
 /// <typeparam name="TModel">对象模型</typeparam>
 /// <param name="connectionString">数据库连接字符串</param>
 /// <param name="providerName">数据库操作类库名称</param>
 /// <param name="iObRedefine"></param>
 /// <param name="notJoinModels"></param>
 /// <returns></returns>
 public static IObHelper <TModel> Create <TModel>(string connectionString, string providerName, IObRedefine iObRedefine, IList <string> notJoinModels)
 {
     return(ObHelper_Create <TModel>(connectionString, providerName, iObRedefine, notJoinModels));
 }
예제 #6
0
 public static IObHelper <TModel> Create <TModel>(string connectionString, string providerName, IObRedefine iObRedefine)
 {
     return(ObHelper_Create <TModel>(connectionString, providerName, iObRedefine, null));
 }
예제 #7
0
        private static IObHelper <TModel, TTerm> ObHelper_Create <TModel, TTerm>(TTerm term, string readConnectionString, string writeConnectionString, string providerName, IObRedefine iObRedefine, IList <string> notJoinModels)
            where TModel : ObModelBase
            where TTerm : ObTermBase
        {
            var t         = typeof(TModel);
            var t2        = typeof(TTerm);
            var className = CLASS_NAME + "`2[[" + t.FullName + "," + t.Assembly.FullName + "],[" + t2.FullName + "," + t2.Assembly.FullName + "]]";

            t = Assembly.Load(ASSEMBLY_STRING).GetType(className);
            var parameters = new object[]
            {
                term,
                readConnectionString,
                writeConnectionString,
                providerName,
                iObRedefine,
                notJoinModels
            };

            return((IObHelper <TModel, TTerm>)Activator.CreateInstance(t, parameters));
        }
예제 #8
0
        private static IObHelper <IObModel> ObHelper_Create(Type t, string readConnectionString, string writeConnectionString, string providerName, IObRedefine iObRedefine, IList <string> notJoinModels)
        {
            var className = CLASS_NAME + "`1[[" + t.FullName + "," + t.Assembly.FullName + "]]";

            t = Assembly.Load(ASSEMBLY_STRING).GetType(className);
            var parameters = new object[]
            {
                readConnectionString,
                writeConnectionString,
                providerName,
                iObRedefine,
                notJoinModels
            };

            return((IObHelper <IObModel>)Activator.CreateInstance(t, parameters));
        }
예제 #9
0
 public static IObHelper <TModel> Helper <TModel>(this TModel m, string readConnectionString, string writeConnectionString, string providerName, IObRedefine iObRedefine, IList <string> notJoinModels)
 {
     return(ObHelper_Create <TModel>(readConnectionString, writeConnectionString, providerName, iObRedefine, notJoinModels));
 }
예제 #10
0
 public static IObHelper <TModel, TTerm> Create <TModel, TTerm>(string readConnectionString, string writeConnectionString, string providerName, IObRedefine iObRedefine, IList <string> notJoinModels)
     where TModel : ObModelBase
     where TTerm : ObTermBase
 {
     return(ObHelper_Create <TModel, TTerm>(readConnectionString, writeConnectionString, providerName, iObRedefine, notJoinModels));
 }
예제 #11
0
 public static IObHelper <TModel, TTerm> Create <TModel, TTerm>(string connectionString, string providerName, IObRedefine iObRedefine)
     where TModel : ObModelBase
     where TTerm : ObTermBase
 {
     return(ObHelper_Create <TModel, TTerm>(connectionString, providerName, iObRedefine, null));
 }
예제 #12
0
 internal static IObHelper <IObModel> Create(Type mt, string readConnectionString, string writeConnectionString, string providerName, IObRedefine iObRedefine, IList <string> notJoinModels)
 {
     return(ObHelper_Create(mt, readConnectionString, writeConnectionString, providerName, iObRedefine, notJoinModels));
 }
예제 #13
0
 internal static IObHelper <IObModel> Create(Type mt, string connectionString, string providerName, IObRedefine iObRedefine)
 {
     return(ObHelper_Create(mt, connectionString, providerName, iObRedefine, null));
 }
예제 #14
0
 public static ObProperty Create(Type mt, IObRedefine iObRedefine, string propertyName)
 {
     return(iObRedefine == null
         ? new ObProperty(mt, mt.ToTableName(), propertyName)
         : new ObProperty(mt, mt.ToTableName(iObRedefine.Models), propertyName));
 }
예제 #15
0
 public static ObProperty Create <TModel>(IObRedefine iObRedefine, string propertyName)
 {
     return(iObRedefine == null
         ? new ObProperty(typeof(TModel), typeof(TModel).ToTableName(), propertyName)
         : new ObProperty(typeof(TModel), typeof(TModel).ToTableName(iObRedefine.Models), propertyName));
 }