Exemplo n.º 1
0
        /// <summary>
        /// 根据传入的条件执行查询,并返回一个IEnumerable<T>类型的集合
        /// (注意传入的 T 必须约束为 where T : class, new())
        /// </summary>
        /// <typeparam name="T">类型:【 约束为 where T : class, new() 】</typeparam>
        /// <param name="where">查询的条件,请省略 Where 关键字</param>
        /// <returns></returns>
        public IEnumerable <T> GetEntityList(string where)
        {
            Type type = typeof(T);
            //遍历获得字段

            string sql = string.Format("SELECT {0} FROM [{1}] WHere {2} ",
                                       SenctionHelper.GetModelSenction <T>(),
                                       type.Name,
                                       where);


            return(SenctionHelper.Excute <IEnumerable <T> >(sql, s =>
            {
                List <T> tList = new List <T>();
                using (SqlDataReader reader = s.ExecuteReader())
                {
                    if (reader.HasRows)
                    {
                        while (reader.Read())
                        {
                            tList.Add(SenctionHelper.MapEntity <T>(reader));
                        }
                    }
                    else
                    {
                        return default(List <T>);
                    }
                }
                return tList;
            }));
        }
Exemplo n.º 2
0
        /// <summary>
        /// 获得单个实体
        /// </summary>
        /// <param name="ID"></param>
        /// <returns></returns>
        public T GetEntity(int ID)
        {
            Type type = typeof(T);

            string where = type.GetProperties().Where(w => w.Name.Equals("ID", StringComparison.InvariantCultureIgnoreCase) || w.Name.Equals("FID", StringComparison.InvariantCultureIgnoreCase)).Select(p => string.Format("[{0}]=@{1}", p.Name, p.Name)).FirstOrDefault();

            SqlParameter[] sqlParameters = type.GetProperties().Where(w => w.Name.Equals("ID", StringComparison.InvariantCultureIgnoreCase) || w.Name.Equals("FID", StringComparison.InvariantCultureIgnoreCase)).Select(p => new SqlParameter(string.Format("@{0}", p.Name), ID)).ToArray();

            string sql = $" SELECT {SenctionHelper.GetModelSenction<T>()} from [{type.Name}] where {where} ";

            return(SenctionHelper.Excute <T>(sql, s =>
            {
                using (SqlDataReader reder = s.ExecuteReader())
                {
                    if (reder.HasRows)
                    {
                        if (reder.Read())
                        {
                            return SenctionHelper.MapEntity <T>(reder);
                        }
                        else
                        {
                            return default(T);
                        }
                    }
                    else
                    {
                        return default(T);
                    }
                }
            }, sqlParameters));

            #region old
            //try
            //{
            //    using (SqlDataReader reader = SenctionHelper.ExecuteReader(sql))
            //    {
            //        if (reader.HasRows)
            //        {
            //            reader.Read();
            //            return SenctionHelper.MapEntity<T>(reader);
            //        }
            //        else
            //        {
            //            return default(T);
            //        }

            //    }
            //}
            //catch (Exception ex)
            //{
            //    Console.WriteLine(ex.Message);
            //    return default(T);
            //}
            #endregion
        }
Exemplo n.º 3
0
        public IEnumerable <Company> GetList()
        {
            string sql = "select * from Company ";

            using (SqlDataReader reader = SenctionHelper.ExecuteReader(sql))
            {
                if (reader.HasRows)
                {
                    while (reader.Read())
                    {
                        yield return(SenctionHelper.MapEntity <Company>(reader));
                    }
                }
            }
        }
Exemplo n.º 4
0
        /// <summary>
        ///  根据传入的SQL语句执行查询,并返回一个IEnumable<T>类型的集合
        ///  注意 W 必须约束为 where W : class, new())
        /// </summary>
        /// <param name="sql"></param>
        /// <returns></returns>
        public IEnumerable <W> GetEntityListSQl <W>(string sql)
        {
            IList <W> list = new List <W>();

            return(SenctionHelper.Excute <IList <W> >(sql, s =>
            {
                using (SqlDataReader reader = s.ExecuteReader())
                {
                    if (reader.HasRows)
                    {
                        while (reader.Read())
                        {
                            list.Add(SenctionHelper.MapEntity <W>(reader));
                        }
                    }
                    else
                    {
                        return default(List <W>);
                    }
                }
                return list;
            }));
        }
Exemplo n.º 5
0
        public List <User> Test()
        {
            return(SenctionHelper.Excute <List <User> >("Select * From [User]", u =>
            {
                List <User> userList = new List <User>();

                using (SqlDataReader reader = u.ExecuteReader())
                {
                    if (reader.HasRows)
                    {
                        while (reader.Read())
                        {
                            userList.Add(SenctionHelper.MapEntity <User>(reader));
                        }
                    }
                    else
                    {
                        return default(List <User>);
                    }
                }

                return userList;
            }));
        }