示例#1
0
        /// <summary>
        /// 添加并保存一个实体
        /// </summary>
        public static T AddSave <T>(this CHIS.DbContext.CHISEntitiesSqlServer db, T entity) where T : class
        {
            var add = db.Add <T>(entity);

            db.SaveChanges();
            return(add.Entity);
        }
示例#2
0
        /// <summary>
        /// 运行自定义函数
        /// 引用下列的命名空间
        ///  1. using System.Data.SqlClient;
        ///  2. using Ass;
        /// </summary>
        /// <param name="funcName">函数名</param>
        /// <param name="sqlParms">参数</param>
        /// <returns></returns>
        public static object MySqlFunction(this CHIS.DbContext.CHISEntitiesSqlServer db, string funcName,
                                           params System.Data.SqlClient.SqlParameter[] sqlParms)
        {
            string connectionString = new Code.Utility.DataBaseHelper().ConnectionString;

            using (var conn = new System.Data.SqlClient.SqlConnection(connectionString))
            {
                string strSql = funcName; //自定SQL函数
                var    cmd    = new System.Data.SqlClient.SqlCommand(strSql, conn);
                cmd.CommandType = System.Data.CommandType.StoredProcedure;
                if (sqlParms != null)
                {
                    foreach (var p in sqlParms)
                    {
                        cmd.Parameters.Add(p);
                    }
                }
                System.Data.SqlClient.SqlParameter rtnp = new System.Data.SqlClient.SqlParameter();
                rtnp.ParameterName = "@Return";
                rtnp.Direction     = System.Data.ParameterDirection.ReturnValue;
                cmd.Parameters.Add(rtnp);

                conn.Open();
                object o = cmd.ExecuteScalar();

                return(rtnp.Value);
            }
        }
示例#3
0
        public JKWebNetService(CHIS.DbContext.CHISEntitiesSqlServer db
                               , IHostingEnvironment env) : base(db)
        {
            _env = env;
#if DEBUG
            _tscid = "tsjk001"; _key = "49ek#739";
            // _url = "http://218.107.9.125:8070/openapi/openApis/main";
#endif
        }
示例#4
0
        ///// <summary>
        ///// Ah自写扩展方法, 删除一个实体 考虑到后面删除的统一性
        ///// </summary>
        //public static Microsoft.EntityFrameworkCore.ChangeTracking.EntityEntry<T> RemoveAh<T>(this Microsoft.EntityFrameworkCore.DbContext db, T entity) where T : class
        //{
        //    return db.Remove<T>(entity);
        //}
        //public static void RemoveRangeAh<T>(this Microsoft.EntityFrameworkCore.DbContext db, params T[] entities) where T:class
        //{
        //    foreach (var item in entities.ToArray())
        //    {
        //        db.Remove<T>(item);
        //    }
        //    // db.RemoveRange(entities);
        //}
        #region 分页查询
        /// <summary>
        /// 获取分页后的集合
        /// </summary>
        /// <param name="findtotal">输出查询的总数</param>
        /// <param name="totalPage">输出总页数</param>
        /// <param name="pageIndex">页码</param>
        /// <param name="pageSize">页容</param>
        /// <param name="sort">排序</param>
        /// <param name="wherePredicate">条件Lambda</param>
        /// <param name="orderPredicate">排序Lambda</param>
        /// <returns></returns>
        public static IList <T> GetPagedList <T, Torder>(this CHIS.DbContext.CHISEntitiesSqlServer db, out int findtotal, out int totalPage,
                                                         int pageIndex, int pageSize,
                                                         System.Linq.Expressions.Expression <Func <T, bool> > wherePredicate,
                                                         System.Linq.Expressions.Expression <Func <T, Torder> > orderPredicate) where T : class
        {
            var findlist = db.Set <T>().Where(wherePredicate);

            findtotal = findlist.Count();
            totalPage = (int)Math.Ceiling(findtotal * 1.0f / pageSize);
            //排序获取当前页的数据
            var dataList = findlist.OrderBy(orderPredicate).
                           Skip(pageSize * (pageIndex - 1)).
                           Take(pageSize).AsQueryable().ToList();

            return(dataList);
        }
示例#5
0
        /// <summary>
        /// 执行存储过程返回表单
        /// </summary>
        public static IList <T> SqlQuery <T>(this CHIS.DbContext.CHISEntitiesSqlServer db, string sql, params object[] parameters)
            where T : new()
        {
            //注意:不要对GetDbConnection获取到的conn进行using或者调用Dispose,否则DbContext后续不能再进行使用了,会抛异常
            string connectionString = new Code.Utility.DataBaseHelper().ConnectionString;

            using (var conn = new System.Data.SqlClient.SqlConnection(connectionString))
            {
                conn.Open();
                using (var command = conn.CreateCommand())
                {
                    command.CommandText = sql;
                    command.Parameters.AddRange(parameters);
                    var propts = typeof(T).GetProperties();
                    var rtnList = new List <T>();
                    T   model; object val;
                    using (var reader = command.ExecuteReader())
                    {
                        while (reader.Read())
                        {
                            model = new T();
                            foreach (var l in propts)
                            {
                                try
                                {
                                    val = reader[l.Name];
                                    if (val == DBNull.Value)
                                    {
                                        l.SetValue(model, null);
                                    }
                                    else
                                    {
                                        l.SetValue(model, val);
                                    }
                                }
                                catch { }
                            }
                            rtnList.Add(model);
                        }
                    }
                    return(rtnList);
                }
            }
        }
示例#6
0
 public ChargeController(Codes.Utility.XPay.AliPay aliPay,
                         IConfiguration config, CHIS.DbContext.CHISEntitiesSqlServer db,
                         ChangePayService paySvr
                         , LoginService loginSvr
                         , NotifyService notifySvr
                         , WeChatService weChatSvr
                         , AccessService accSvr
                         , DoctorService docSvr) : base(db)
 {
     _aliPay    = aliPay;
     _config    = config;
     this.db    = db;
     _paySvr    = paySvr;
     _loginSvr  = loginSvr;
     _notifySvr = notifySvr;
     _weChatSvr = weChatSvr;
     _docSvr    = docSvr;
     _accSvr    = accSvr;
 }
示例#7
0
 /// <summary>
 /// 添加或者更新一个实体
 /// </summary>
 public static T Upsert <T>(this CHIS.DbContext.CHISEntitiesSqlServer db, T entity) where T : class
 {
     try { var r = db.Update(entity).Entity; db.SaveChanges(); return(r); }
     catch { return(db.AddSave(entity)); }
 }
示例#8
0
 public ToolsController(IHostingEnvironment env, CHIS.DbContext.CHISEntitiesSqlServer db) : base(db)
 {
     this._env = env;
 }
示例#9
0
文件: Search.cs 项目: iJzFan/backup
 public Search(CHIS.DbContext.CHISEntitiesSqlServer db
               , Services.DoctorService docSvr) : base(db)
 {
     _docSvr = docSvr;
 }