Example #1
0
        /// <summary>
        /// 返回首列结果
        /// </summary>
        /// <typeparam name="TModel"></typeparam>
        /// <param name="query"></param>
        /// <returns></returns>
        public dynamic QueryScalar <TModel>(LambdaQuery <TModel> query) where TModel : IModel, new()
        {
            query.Top(1);
            var reader = GetQueryDynamicReader(query);
            var a      = reader.Read();

            if (!a)
            {
                return(null);
            }
            var result = reader[0];

            reader.Close();
            return(result);
        }
Example #2
0
        /// <summary>
        /// 查询返回单个结果
        /// 如果只查询ID,调用QueryItem(id)
        /// </summary>
        /// <typeparam name="TItem"></typeparam>
        /// <param name="expression"></param>
        /// <param name="idDest">是否按主键倒序</param>
        /// <param name="compileSp">是否编译成存储过程</param>
        /// <returns></returns>
        public TItem QueryItem <TItem>(Expression <Func <TItem, bool> > expression, bool idDest = true, bool compileSp = false) where TItem : IModel, new()
        {
            LambdaQuery <TItem> query = new LambdaQuery <TItem>(this);

            query.Top(1);
            query.Where(expression);
            query.OrderByPrimaryKey(idDest);
            List <TItem> list = QueryList <TItem>(query, 0, compileSp);

            if (list.Count == 0)
            {
                return(null);
            }
            return(list[0]);
        }