Ejemplo n.º 1
0
        /// <summary>
        /// 使用内容模型取出满足条件记录(指定数据库)
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="conn"></param>
        /// <param name="condition"></param>
        /// <param name="orders"></param>
        /// <param name="from"></param>
        /// <param name="count"></param>
        /// <param name="fields"></param>
        /// <returns></returns>
        public DataTable ConList <T>(IConnection conn, Criteria condition,
                                     Order[] orders, int from, int count, ConListField[] fields)
        {
            ObjectManager oa = _d1.GetObjectManager(typeof(T));

            return(oa.MyList <T>(conn, condition, orders, from, count, fields));
        }
Ejemplo n.º 2
0
        public List <T> List <T>(IConnection conn, Criteria condition,
                                 Order[] orders, int from, int count, ListField[] fields, string tablename)
        {
            ObjectManager oa = _d1.GetObjectManager(tablename);

            return(oa.MyList <T>(conn, condition, orders, from, count, fields));
        }
Ejemplo n.º 3
0
        public List <T> SelectList <T>(IConnection conn, string tablename, Criteria condition, Order[] orders, int offset, int count, object[] fields)
        {
            AssistantPrepareEventArgs args;
            AssistantEntity           typedEntity = new AssistantEntity(typeof(T));

            typedEntity.TableName = tablename;
            typedEntity.Criteria  = condition;

            AssistantQueryParameter parameter = new AssistantQueryParameter();

            parameter.Orders = orders;
            parameter.Offset = offset;
            parameter.Count  = count;

            bool     isListField = (null != fields) && (fields.Length > 0) && (fields[0] is ListField);
            List <T> result      = new List <T>();

            string[] actualFields = null;
            if (isListField)
            {
                actualFields = new string[fields.Length];
                for (int i = 0; i < actualFields.Length; i++)
                {
                    actualFields[i] = (fields[i] as ListField).FieldName;
                }
            }
            if (AssertContinueSelecting(typedEntity, parameter, (isListField ? actualFields : (fields as string[])), out args))
            {
                ObjectManager oa = string.IsNullOrEmpty(tablename) ? _d1.GetObjectManager(typeof(T)) : _d1.GetObjectManager(tablename);
                if (isListField)
                {
                    result = oa.MyList <T>(conn, condition, orders, offset, count, (fields as ListField[]));
                }
                else
                {
                    result = oa.MyList <T>(conn, condition, orders, offset, count, (fields as string[]));
                }
            }
            else if (null != args.ContextData &&
                     !ReferenceEquals(parameter, args.ContextData))
            {
                result = (args.ContextData as List <T>) ?? new List <T>();
            }

            return(result);
        }