Example #1
0
        private static DataTable GetDatabaseSchema(DbSession session,string schema,string[] data = null)
        {
            var connection = session.Provider.DbConnection;
            if(connection.State == ConnectionState.Closed)
                connection.Open ();

            return connection.GetSchema (schema);
        }
Example #2
0
        /// <summary>
        /// 
        /// </summary>
        /// <param name="dbSession"></param>
        /// <param name="sql"></param>
        public SqlSection(DbSession dbSession, string sql)
            : base(dbSession)
        {

            Check.Require(sql, "sql", Check.NotNullOrEmpty);

            this.cmd = dbSession.Db.GetSqlStringCommand(sql);
        }
Example #3
0
        public DbObject(string DbConnectStr)
        {
            this._dbconnectStr = DbConnectStr;

            //this.connect = new OracleConnection();
            //this.connect.ConnectionString = _dbconnectStr;

            dbSession = new DbSession(DatabaseType.Oracle, DbConnectStr);

        }
 private void LoadType(DbSession session)
 {
     this.drpMainType.Items.Clear();
     this.drpMainType.Items.Add(new ListItem(" ", "0"));
     IDbCommand cmd = session.CreateSqlStringCommand(@"
     Select cmpt_type_id As Main_Id,cmpt_type_name As Main_Text
     From magic.complaint_type
     Where cmpt_type_id In(select distinct main_id from ext_cs_log_main_type)");
     DataSet ds = session.ExecuteDataSet(cmd);
     foreach (DataRow row in ds.Tables[0].Rows)
         this.drpMainType.Items.Add(new ListItem(Cast.String(row["Main_Text"]), Cast.String(row["Main_Id"])));
 }
 private void LoadUser(DbSession session)
 {
     this.drpUser.Items.Clear();
     this.drpUser.Items.Add(new ListItem(" ", "0"));
     IDbCommand cmd = session.CreateSqlStringCommand(@"
     Select Id,Name From magic.org_persons Where Id In(
        Select Distinct Id From magic.crm_userrole Where roleid In (6,53,3,5)
     )");
     DataSet ds = session.ExecuteDataSet(cmd);
     foreach (DataRow row in ds.Tables[0].Rows)
         this.drpUser.Items.Add(new ListItem(Cast.String(row["Name"]), Cast.String(row["Id"])));
 }
 private void LoadSubType(DbSession session)
 {
     this.drpSubType.Items.Clear();
     this.drpSubType.Items.Add(new ListItem(" ", "0"));
     int mainId = Cast.Int(this.drpMainType.SelectedValue);
     if (mainId <= 0) return;
     IDbCommand cmd = session.CreateSqlStringCommand(string.Format(@"
     Select cmpt_type_id As Sub_Id,cmpt_type_name As Sub_Text
     From magic.complaint_type
     Where cmpt_type_id In(select sub_id from ext_cs_log_main_type Where main_id={0})", mainId));
     DataSet ds = session.ExecuteDataSet(cmd);
     foreach (DataRow row in ds.Tables[0].Rows)
         this.drpSubType.Items.Add(new ListItem(Cast.String(row["Sub_Text"]), Cast.String(row["Sub_Id"])));
 }
Example #7
0
        public void ObservePerfmon()
        {
            var process = new Process {
                StartInfo = new ProcessStartInfo {
                    FileName = "C:\\StarcounterProjects\\perfmon.exe",
                    UseShellExecute = false,
                    RedirectStandardOutput = true,
                    Arguments = "PERSONAL_DEFAULT"
                }
            };

            process.Start();

            string output;
            while ((output = process.StandardOutput.ReadLine()) != null) {
                if (output.StartsWith(" storage_memory.used_pages")) {
                    Int64 dataSizeKB = Convert.ToInt64(output.Split(delimiterChars)[1]);

                    DbSession dbs = new DbSession();
                    dbs.RunAsync(() => {
                        Int64 countObjects = gen.CountObjects();
                        datahistory.Add(countObjects, dataSizeKB);

                        if (dataSizeKB < 1000000) { //don't grow above 1 GB
                            Console.WriteLine("Continuing...");
                            gen.CreateData();
                            ObservePerfmon();
                        }
                        else {
                            Console.WriteLine("Top size achieved");
                        }
                    });

                    break;

                }
            }

            process.Kill();

            return;
        }
        /// <summary>
        /// 修改或者添加一条数据
        /// </summary>
        /// <param name="model">实体参数</param>
        /// <returns>大于0,操作成功,反之失败</returns>
        public int OperateModel(Bus_TakeError model)
        {
            if (!string.IsNullOrEmpty(model.ID) && model.ID.Length == 36)
            {
                //编辑
                var existModel = this.LoadEntities(t => t.ID == model.ID).FirstOrDefault();
                existModel.FromSource   = model.FromSource;
                existModel.ActionId     = model.ActionId;
                existModel.TypeVal      = model.TypeVal;
                existModel.ResCompany   = model.ResCompany;
                existModel.ResCompanyId = model.ResCompanyId;
                existModel.ResPerson    = model.ResPerson;
                //existModel.AttributeID = model.AttributeID;
                existModel.DelFlag         = 0;
                existModel.AccessCompany   = model.AccessCompany;
                existModel.AccessCompanyId = model.AccessCompanyId;
                existModel.IsOverTime      = model.IsOverTime;
                existModel.IsSearch        = model.IsSearch;
                existModel.OverQuality     = model.OverQuality;
                existModel.Remark          = model.Remark;
                existModel.LevelRecords    = model.LevelRecords;

                #region 性质
                var existAttributes = DbSession.Bus_TakeErrorAttributeRepository.LoadEntities(ur => ur.AttributeID == existModel.ID);
                //删除现有数据
                foreach (var item in existAttributes)
                {
                    DbSession.Bus_TakeErrorAttributeRepository.DeleteEntity(item);
                }

                if (model.AttributeIds != null)
                {
                    foreach (var attrId in model.AttributeIds)
                    {
                        Bus_TakeErrorAttribute attrModel = new Bus_TakeErrorAttribute();
                        attrModel.ID              = Guid.NewGuid().ToString();
                        attrModel.AttributeID     = existModel.ID;
                        attrModel.AttributeIDItem = attrId;
                        DbSession.Bus_TakeErrorAttributeRepository.AddEntity(attrModel);
                    }
                }
                #endregion
            }
            else if (string.IsNullOrEmpty(model.ID))
            {
                //添加
                var addModel = new Bus_TakeError();
                addModel.ID           = Guid.NewGuid().ToString();
                addModel.FromSource   = model.FromSource;
                addModel.ActionId     = model.ActionId;
                addModel.TypeVal      = model.TypeVal;
                addModel.ResCompany   = model.ResCompany;
                addModel.ResCompanyId = model.ResCompanyId;
                addModel.ResPerson    = model.ResPerson;
                //addModel.AttributeID = model.AttributeID;
                addModel.DelFlag         = 0;
                addModel.AccessCompany   = model.AccessCompany;
                addModel.CreateTime      = DateTime.Now;
                addModel.AccessCompanyId = model.AccessCompanyId;

                addModel.IsOverTime   = model.IsOverTime;
                addModel.IsSearch     = model.IsSearch;
                addModel.OverQuality  = model.OverQuality;
                addModel.Remark       = model.Remark;
                addModel.LevelRecords = model.LevelRecords;
                addModel.OrderBy      = model.OrderBy;
                addModel.IsPass       = 0;
                addModel.UserId       = model.UserId;
                DbSession.Bus_TakeErrorRepository.AddEntity(addModel);

                #region 新增性质
                //添加
                if (model.AttributeIds != null)
                {
                    foreach (var attrId in model.AttributeIds)
                    {
                        Bus_TakeErrorAttribute attrModel = new Bus_TakeErrorAttribute();
                        attrModel.ID              = Guid.NewGuid().ToString();
                        attrModel.AttributeID     = addModel.ID;
                        attrModel.AttributeIDItem = attrId;
                        DbSession.Bus_TakeErrorAttributeRepository.AddEntity(attrModel);
                    }
                }
                #endregion
            }

            return(DbSession.SaveChange());
        }
Example #9
0
 public void Delete(T entity)
 {
     dal.Delete(entity);
     DbSession.SaveChange();
 }
        public async Task <Sponsor> Save(Sponsor sponsor)
        {
            await DbSession.StoreAsync(sponsor);

            return(sponsor);
        }
 public void AddParameter(DbCommand command, DbSession session)
 {
     command.Parameters.Add(this.Property.GetDbParameter(session, this.Value, this.NickName));
 }
        public void AddParameter(DbCommand command, DbSession session)
        {
            //包含子查询
            if (this.SubSelect != null)// && this.SubSelect.ComponentWhere.Wheres.Count > 0)
            {
                throw new NotImplementedException("未实现子查询处理");
                //foreach (var subWhere in this.SubSelect.ComponentWhere.Wheres)
                //{
                //    subWhere.AddParameter(session, command);
                //}
            }
            else//不包含子查询
            {
                if (this.IsMultipleProperties)
                {
                    throw new NotImplementedException("未实现多属性处理");
                    //TODO 多值化处理
                    //whereCondition.AppendFormat("({0})", this.SubSelect.ToQueryString(session));
                }
                else
                {
                    switch (this.Operator)
                    {
                    case LocateType.Equal:
                    case LocateType.NotEqual:
                    case LocateType.GreatThan:
                    case LocateType.LessThan:
                    case LocateType.EqualOrGreatThan:
                    case LocateType.EqualOrLessThan:
                        command.Parameters.Add(this.Property.GetDbParameter(session, this.Value, this.NickName));
                        break;

                    case LocateType.In:
                    case LocateType.NotIn:
                        if (this.IsMultipleProperties)
                        {
                            command.Parameters.Add(DbTranslateHelper.GetDbParameter(session, this.GetParameterName(session), this.Value));
                        }
                        else
                        {
                            var parameterPlaceholder = this.GetParameterName(session);
                            switch (this.Property.Type)
                            {
                            case PDMDataType.varchar:
                            case PDMDataType.text:
                                var varchars = this.Value as IEnumerable <String>;
                                if (varchars == null)
                                {
                                    throw new NotImplementedException("参数需为" + typeof(IEnumerable <String>).Name + "规格");
                                }
                                command.CommandText = command.CommandText.Replace(parameterPlaceholder, "'" + string.Join("','", varchars) + "'");
                                break;

                            case PDMDataType.numeric:
                                switch (this.Property.GetCSharpDataType())
                                {
                                case CSharpDataType.@string:
                                    var stringValues = GetEnumerableValues <string>(this);
                                    command.CommandText = command.CommandText.Replace(parameterPlaceholder, string.Join(",", stringValues));
                                    break;

                                case CSharpDataType.Decimal:
                                    var decimalValues = GetEnumerableValues <decimal>(this);
                                    command.CommandText = command.CommandText.Replace(parameterPlaceholder, string.Join(",", decimalValues));
                                    break;

                                case CSharpDataType.Int64:
                                    var int64Values = GetEnumerableValues <long>(this);
                                    command.CommandText = command.CommandText.Replace(parameterPlaceholder, string.Join(",", int64Values));
                                    break;

                                case CSharpDataType.Int32:
                                    var int32Values = GetEnumerableValues <int>(this);
                                    command.CommandText = command.CommandText.Replace(parameterPlaceholder, string.Join(",", int32Values));
                                    break;

                                case CSharpDataType.Int16:
                                    var int16Values = GetEnumerableValues <short>(this);
                                    command.CommandText = command.CommandText.Replace(parameterPlaceholder, string.Join(",", int16Values));
                                    break;

                                case CSharpDataType.Boolean:
                                    var booleanValues = GetEnumerableValues <bool>(this);
                                    command.CommandText = command.CommandText.Replace(parameterPlaceholder, string.Join(",", booleanValues));
                                    break;

                                case CSharpDataType.DateTime:
                                    var datetimeValues = GetEnumerableValues <DateTime>(this);
                                    command.CommandText = command.CommandText.Replace(parameterPlaceholder, string.Join(",", datetimeValues));
                                    break;

                                default:
                                    throw new NotImplementedException("未支持该参数规格" + this.Property.Type);
                                }
                                break;

                            case PDMDataType.datetime:
                                switch (session.DatabaseType)
                                {
                                case EDatabaseType.Oracle:
                                    var times = this.Value as IEnumerable <DateTime>;
                                    if (times == null)
                                    {
                                        throw new NotImplementedException("参数需为" + typeof(IEnumerable <DateTime>).Name + "规格");
                                    }
                                    command.CommandText = command.CommandText.Replace(parameterPlaceholder, string.Join(",", times.Select(c => "to_date('" + c + "','yyyy-mm-dd hh24:mi:ss')")));
                                    break;

                                case EDatabaseType.MSSQL:
                                case EDatabaseType.MySQL:
                                case EDatabaseType.SQLite:
                                    command.CommandText = command.CommandText.Replace(parameterPlaceholder, "'" + string.Join("','", this.Value) + "'");
                                    break;

                                default:
                                    throw new NotImplementedException("未支持该类型的日期parameter处理" + this.Property.Type.ToString());
                                }
                                break;

                            case PDMDataType.uniqueidentifier:
                                var guids = this.Value as IEnumerable <Guid>;
                                if (guids == null)
                                {
                                    throw new NotImplementedException("参数需为" + typeof(IEnumerable <Guid>).Name + "规格");
                                }
                                command.CommandText = command.CommandText.Replace(parameterPlaceholder, "'" + string.Join("','", guids) + "'");
                                break;

                            default:
                                throw new NotImplementedException("未支持该类型的多值parameter处理" + this.Property.Type.ToString());
                            }
                        }
                        break;

                    default:
                        throw new NotImplementedException("未支持该类型的parameter处理" + this.Operator.ToString());
                    }
                }
            }
        }
Example #13
0
 public TaskPersisterSession OpenSession(DbSession ses)
 {
     throw new NotImplementedException();
 }
 protected BaseDataAdapter(DbSession _session = null)
 {
     Db = new Database("Data Source=localhost;Initial Catalog=BUNDLETEST; User Id=sa;Password=123;", DatabaseType.SqlServer2012, System.Data.SqlClient.SqlClientFactory.Instance);
 }
Example #15
0
 public Task <Talk> Get(string talkId)
 {
     return(DbSession.LoadAsync <Talk>(talkId));
 }
Example #16
0
 public Task <IList <Talk> > GetSubmissions(string eventId)
 {
     return(DbSession.Query <Talk>()
            .Where(s => s.EventId == eventId)
            .ToListAsync());
 }
Example #17
0
 public MSSQLQueryOperator(DbSession session)
 {
     Session = session;
 }
Example #18
0
        /// <summary>
        /// 未查询到数据时返回 new List<T>()
        /// </summary>
        public static List <TDepthNodeElement> DbSelect(this List <TDepthNodeElement> entities, DbSession session, params PDMDbProperty[] fields)
        {
            var           query   = session.GetDbQueryBuilder();
            SelectBuilder builder = new SelectBuilder();

            if (fields.Count() == 0)
            {
                builder.ComponentSelect.Add(TDepthNodeElementProperties.Segregation);
                builder.ComponentSelect.Add(TDepthNodeElementProperties.NodeCode);
                builder.ComponentSelect.Add(TDepthNodeElementProperties.Depth);
                builder.ComponentSelect.Add(TDepthNodeElementProperties.ElementIds);
            }
            else
            {
                builder.ComponentSelect.Add(TDepthNodeElementProperties.Segregation);
                builder.ComponentSelect.Add(TDepthNodeElementProperties.NodeCode);
                builder.ComponentSelect.Add(TDepthNodeElementProperties.Depth);
                foreach (var field in fields)
                {
                    builder.ComponentSelect.Add(field);
                }
            }
            var Ids = entities.Select(c => c.Segregation);

            if (Ids.Count() != 0)
            {
                builder.ComponentWhere.Add(new ComponentValueOfWhere(TDepthNodeElementProperties.Segregation, Ids, LocateType.In));
            }
            query.SelectBuilders.Add(builder);
            return(session.GetQueryOperator().SelectAll <TDepthNodeElement>(query));
        }
Example #19
0
 /// <summary>
 /// 转换为Query
 /// </summary>
 /// <param name="session"></param>
 /// <returns></returns>
 public string ToQueryString(DbSession session)
 {
     return(string.Format("({0}) values({1})", string.Join(",", Values.Select(c => c.Property.Title)), string.Join(",", Values.Select(c => c.GetParameterName(session)))));
 }
Example #20
0
        public Boolean AddTime(int actId)
        {
            bool flag = false;

            try
            {
                short    delNormal       = (short)Model.Enum.DelFlagEnum.Normal;
                short    delDoneAuditing = (short)Model.Enum.DelFlagEnum.DoneAuditing;
                Activity activity        = DbSession.ActivityDal.GetEntities(u => u.ActivityID == actId && u.Status == delDoneAuditing).FirstOrDefault();
                var      EnrollList      = DbSession.UserEnrollDal.GetEntities(u => u.ActivityID == actId && u.Status == delNormal).AsQueryable();
                foreach (var Enroll in EnrollList)
                {
                    //添加活动详情
                    ActivityDetail activityDetail = new ActivityDetail();
                    activityDetail.Status             = (short)Model.Enum.DelFlagEnum.Normal;
                    activityDetail.UserInfoId         = Enroll.UserInfoID;
                    activityDetail.ActivityID         = Enroll.ActivityID;
                    activityDetail.CreateTime         = DateTime.Now;
                    activityDetail.ModfiedOn          = activityDetail.CreateTime;
                    activityDetail.ActivityDetailTime = (decimal)Enroll.ActivityTime;
                    DbSession.ActivityDetailDal.Add(activityDetail);

                    //用户总时长累积
                    UserDuration userDuration = DbSession.UserDurationDal.GetEntities(u => u.UserDurationID == Enroll.UserInfoID).FirstOrDefault();

                    //政治面貌
                    int pId = DbSession.UserInfoDal.GetEntities(u => u.UserInfoID == userDuration.UserDurationID).FirstOrDefault().PoliticalID;

                    //总时长
                    userDuration.UserDurationTotal = userDuration.UserDurationTotal + (decimal)Enroll.ActivityTime;

                    //用户为党员
                    if (pId == polParty)
                    {
                        userDuration.UserDurationPartyTotal = userDuration.UserDurationPartyTotal + (decimal)Enroll.ActivityTime;
                    }
                    //用户为预备党员
                    else if (pId == polPreparatory)
                    {
                        userDuration.UserDurationPropartyTotal = userDuration.UserDurationPropartyTotal + (decimal)Enroll.ActivityTime;
                        //50小时志愿者徽章
                        if (userDuration.UserDurationPropartyTotal >= 50 && DbSession.UserBadgeDal.GetEntities(u => u.BadgeID == 1 && u.UserInfoID == userDuration.UserDurationID).FirstOrDefault() == null)
                        {
                            UserBadge userBadge = new UserBadge
                            {
                                //徽章ID
                                BadgeID    = 1,
                                UserInfoID = userDuration.UserDurationID,
                                CreateTime = DateTime.Now
                            };
                            userDuration.Status = delNormal;
                            DbSession.UserBadgeDal.Add(userBadge);
                        }
                    }
                    else
                    {
                        userDuration.UserDurationNormalTotal = userDuration.UserDurationNormalTotal + (decimal)Enroll.ActivityTime;
                    }
                    DbSession.UserDurationDal.Update(userDuration);
                }
                activity.Status    = delNormal;
                activity.ModfiedOn = DateTime.Now;
                DbSession.ActivityDal.Update(activity);
                DbSession.SaveChanges();
                flag = true;
            }
            catch (Exception e)
            {
                flag = false;
            }
            return(flag);
        }
Example #21
0
 /// <summary>
 /// 添加
 /// </summary>
 /// <param name="entity"></param>
 /// <returns></returns>
 public T AddEntity(T entity)
 {
     CurrentDal.AddEntity(entity);
     DbSession.SaveChanges();
     return(entity);
 }
 /// <summary>
 /// 基于(属性,操作,值)的集合添加参数
 /// </summary>
 public static void AddParameter(this List <ComponentValueOfWhere> pdmDbPropertyOperateValues, DbSession session, DbCommand command)
 {
     //增加Parameter
     foreach (var pdmDbPropertyOperateValue in pdmDbPropertyOperateValues)
     {
         pdmDbPropertyOperateValue.AddParameter(command, session);
     }
 }
Example #23
0
 /// <summary>
 /// 删除
 /// </summary>
 /// <param name="entity"></param>
 /// <returns></returns>
 public bool DeleteEntity(T entity)
 {
     CurrentDal.DeleteEntity(entity);
     return(DbSession.SaveChanges());
 }
 public string GetParameterName(DbSession session)
 {
     return(session.GetParameterPrefix() + (!string.IsNullOrEmpty(this.NickName) ? this.NickName : this.Property.Title));
 }
Example #25
0
 /// <summary>
 /// 更新
 /// </summary>
 /// <param name="entity"></param>
 /// <returns></returns>
 public bool EditEntity(T entity)
 {
     CurrentDal.EditEntity(entity);
     return(DbSession.SaveChanges());
 }
 /// <summary>
 /// 基于(属性,值)的集合添加参数
 /// </summary>
 public static void AddParameter(this List <ComponentValueOfInsert> pdmDbPropertyValues, DbSession session, DbCommand command)
 {
     foreach (var pdmDbPropertyValue in pdmDbPropertyValues)
     {
         pdmDbPropertyValue.AddParameter(command, session);
     }
 }
Example #27
0
        public static List <TCreatureProperty> DbSelect(this List <TCreatureProperty> entities, DbSession session, params PDMDbProperty[] fields)
        {
            var           query   = IORMProvider.GetDbQueryBuilder(session);
            SelectBuilder builder = new SelectBuilder();

            if (fields.Count() == 0)
            {
                builder.ComponentSelect.Add(TCreaturePropertyProperties.CreatureId);
                builder.ComponentSelect.Add(TCreaturePropertyProperties.HitPoint);
                builder.ComponentSelect.Add(TCreaturePropertyProperties.MagicPoint);
                builder.ComponentSelect.Add(TCreaturePropertyProperties.Strength);
                builder.ComponentSelect.Add(TCreaturePropertyProperties.Stamina);
                builder.ComponentSelect.Add(TCreaturePropertyProperties.Agility);
                builder.ComponentSelect.Add(TCreaturePropertyProperties.Intelligence);
                builder.ComponentSelect.Add(TCreaturePropertyProperties.Mentality);
            }
            else
            {
                builder.ComponentSelect.Add(TCreaturePropertyProperties.CreatureId);
                foreach (var field in fields)
                {
                    builder.ComponentSelect.Add(field);
                }
            }
            var Ids = entities.Select(c => c.CreatureId);

            if (Ids.Count() != 0)
            {
                builder.ComponentWhere.Add(new ComponentValueOfWhere(TCreaturePropertyProperties.CreatureId, Ids, LocateType.In));
            }
            query.SelectBuilders.Add(builder);
            return(IORMProvider.GetQueryOperator(session).SelectAll <TCreatureProperty>(session, query));
        }
Example #28
0
 public void Add(T entity)
 {
     dal.Add(entity);
     DbSession.SaveChange();
 }
Example #29
0
 protected DbContext()
 {
     this._session = new DbSession(this);
 }
Example #30
0
 public void Update(T entity)
 {
     dal.Update(entity);
     DbSession.SaveChange();
 }
Example #31
0
        /// <summary>
        /// 请不要运行此Test项目,此Test仅仅是本人测试用。
        /// 另外有完整的Demo项目:http://git.oschina.net/ITdos/Dos.ORM.Demo
        /// </summary>
        /// <param name="args"></param>
        static void Main(string[] args)
        {
            //请不要运行此Test项目,此Test仅仅是本人测试用。
            //另外有完整的Demo项目:http://git.oschina.net/ITdos/Dos.ORM.Demo

            Console.WriteLine("请不要运行此Test项目,此Test仅仅是本人测试用。");
            Console.WriteLine("另外有完整的Demo项目:http://git.oschina.net/ITdos/Dos.ORM.Demo");
            //return;
            var db20160927 = new DbSession(DatabaseType.MySql, "Data Source=127.0.0.1;Database=ITdos;User Id=root;Password=root;Convert Zero Datetime=True;Allow Zero Datetime=True;");

            db20160927.RegisterSqlLogger(SqlOg);
            using (var trans = db20160927.BeginTransaction())
            {
                var count2 = 0;
                count2 += trans.Insert(new BizUser()
                {
                    Id         = Guid.NewGuid(),
                    Account    = new Random().Next(1, 1000).ToString(),
                    Pwd        = "123456",
                    State      = 1,
                    CreateTime = DateTime.Now
                });

                count2 += trans.FromSql("insert into Biz_User values (UUID(),'" + new Random().Next(1, 1000).ToString() + "','123456','','','',1,'','',1,null,NOW())").ExecuteNonQuery();

                count2 += db20160927.Insert(trans, new BizUser()
                {
                    Id         = Guid.NewGuid(),
                    Account    = new Random().Next(1, 1000).ToString(),
                    Pwd        = "123456",
                    State      = 1,
                    CreateTime = DateTime.Now
                });
                trans.Commit();
                Console.WriteLine("成功插入" + count2 + "条数据。");
            }
            return;

            #region 测试字段名不一致
            var list20160927 = db20160927.From <CmsNews>()
                               // .Select(d => new { d.Title, d.Id,d.Summary, d.No })//
                               .Top(10).ToList();

            var list201609272 = db20160927.From <CmsNews>()
                                .Select(d => new { d.Title, d.Id, Sub = d.Summary, d.Summary, d.No })//
                                .Top(10).ToList();

            var list201609273 = db20160927.From <CmsNews>()
                                .Select(d => new { d.Title, d.Id, Sub = d.Summary, d.Summary, Noo = d.No })//
                                .Top(10).ToList();

            var list201609274 = db20160927.From <CmsNews>()
                                .Select(d => new { d.Title, d.Id, Sub = d.Summary, d.Summary, Noo = d.No, d.No })//
                                .Top(10).ToList();
            return;

            #endregion



            var db2 = new DbSession(DatabaseType.MySql, "Data Source=192.168.2.15;Database=Standard;User Id=root;Password=root;Convert Zero Datetime=True;Allow Zero Datetime=True;");
            db2.RegisterSqlLogger(SqlOg);
            var count20160815 =
                db2.From <BizStandardList>()
                .Select(d => d.QATestItemCount.Sum())
                .Where(d => d.QAClassA825 == "X00/09".Replace("/", "_"))
                .SetCacheTimeOut(60 * 60 * 24)
                .ToScalar <int>();
            Console.WriteLine(count20160815);

            var db = new DbSession(DatabaseType.MySql, "Data Source=192.168.2.150;Database=OAA;User Id=root;Password=root;Convert Zero Datetime=True;Allow Zero Datetime=True;");
            db.RegisterSqlLogger(SqlOg);

            var model = db.From <BizHouse>()
                        .Select(d => new { d.All, Name2 = d.Name })
                        //.AddSelect(
                        //    db.From<BizHouse>()
                        //        .LeftJoin<BizHouse>((c, d) => c.Id == d.Id)
                        //        .Select(d => d.Age)
                        //        .Top(1)
                        //)
                        .Top(2)
                        .ToFirst();
            var bbbbbbbb = JsonConvert.SerializeObject(model);
            var aaaaaaa  = JSON.ToJSON(model);
            model.AttachAll();
            model.Id = Guid.NewGuid();
            var count = db.Insert(model);
            return;



            var a            = CmsNews._.Code != "111" && CmsNews._.No != "222" && CmsNews._.AllCode != "333";
            var list20160429 = db.From <CmsNews>("A")
                               //.InnerJoin<CmsNews>((a, b) => a.Id == b.Id, "B")
                               .Where(a)
                               .Top(10)
                               .ToList();
            //db.Delete<CmsNews>(d => d.Id.In(1,2,3));
            var uptModeol = new CmsNews();
            uptModeol.Code    = "111";
            uptModeol.AllCode = "222";
            db.Update <CmsNews>(uptModeol, CmsNews._.Code == "111" && CmsNews._.Code == "222");

            #region 测试自连接

            //var ll = Db.MySql.From<TestTable>()
            //    .LeftJoin<TestTable>((a, b) => a.Id == b.Id)
            //    .ToList();

            #endregion

            #region 测试

            //var a20160426 = JSON.ToJSON(list);
            //var a201604262 = JsonConvert.SerializeObject(list);
            //list[0].Id = Guid.NewGuid();
            //list[0].AttachAll();
            //var a = list[0].GetModifyFields();
            //var b = list[1].GetModifyFields();
            //list[0].Id = Guid.NewGuid();
            //var aaaa = TestTableRepository.Insert(list[0]);

            #endregion

            #region 测试事务

            //var trans = Db.Context.BeginTransaction();
            //var mmmm = new TestTable1();
            //try
            //{
            //    trans.Delete(new List<TestTable1>());
            //    Db.Context.Delete(trans, new List<TestTable1>());
            //    trans.Update(mmmm);
            //    throw new Exception("xxxxxxxx");
            //    trans.Commit();
            //}
            //catch (Exception)
            //{
            //    trans.Rollback();
            //}
            //finally
            //{
            //    trans.Close();
            //}
            //var aaaaaa = GetAaa();
            //Aaa(new List<TestTable1>());
            //Aaa(trans, new List<TestTable1>());
            //Aaa(aaaaaa);

            #endregion

            #region 测试表名非dbo用户名

            //var list20160408 = Db.dbSql.From<CmsTitleTitlePartRecord>()
            //   // .InnerJoin<CmsTitleTitlePartRecord>((a,b)=>a.Id == b.Id)
            //  // .InnerJoin("", new WhereClip())
            //    .Select(d => new { d.Id, d.Title }).Where(d => d.Id == 8).ToList();
            //var list201604082 = Db.dbSql.Insert<CmsTitleTitlePartRecord>(new CmsTitleTitlePartRecord()
            //{
            //    Id = new Random().Next(1000,10000),
            //    Title = "测试"
            //});
            //var list2016040823 = Db.dbSql.Update<CmsTitleTitlePartRecord>(new CmsTitleTitlePartRecord()
            //{
            //    Id = 8,
            //    Title = "修改为测试"
            //});
            //var list20160414 = Db.dbSql.FromSql("select top 10 * from Cms_Settings_ContentPartFieldDefinitionRecord WHERE 1=2 AND Id=@id")
            //    .AddInParameter("@id",DbType.String, 999999).ToList<CmsTitleTitlePartRecord>();
            //var list21321321 = Db.Context.From<TestTable1>().Select(d => d.MobilePhone).ToList<string>();

            #endregion
        }
Example #32
0
 /// <summary>
 /// 
 /// </summary>
 /// <param name="dbSession"></param>
 /// <param name="procName"></param>
 public ProcSection(DbSession dbSession, string procName)
     : base(dbSession)
 {
     Check.Require(procName, "procName", Check.NotNullOrEmpty);
     this.cmd = dbSession.Db.GetStoredProcCommand(procName);
 }
Example #33
0
        public override void InnerOnConfiguring(DbContextOptionsBuilder optionsBuilder)
        {
            var loggerFactory = _serviceProvider.GetRequiredService <ILoggerFactory>();

            optionsBuilder.UseMySql(DbSession.GetConnection <DbConnection>()).UseLoggerFactory(loggerFactory);
        }
Example #34
0
 public TaskPersisterSession OpenSession(DbSession ses)
 {
     SqlSession ss = ses as SqlSession;
     if (ss == null) throw new Exception("SqlSession required");
     return new SqlProcessPersisterSession(TaskSerializer, ss);
 }
Example #35
0
 /// <summary>
 /// 获取参数名
 /// </summary>
 /// <param name="session"></param>
 /// <returns></returns>
 public string GetParameterName(DbSession session)
 {
     return(session.GetParameterPrefix() + NickName);
 }
Example #36
0
        public void ConfirmCheckOrder(ISession session)
        {
            if (this._status != INVCheckStatus.New)
            {
                throw new Exception("单据不是新建状态,无法执行该操作");
            }
            if (session.CreateEntityQuery <INVCheckWh>()
                .Where(Exp.Eq("OrderNumber", this._orderNumber))
                .Count() <= 0)
            {
                throw new Exception("您还没有选择要盘点的库位");
            }

            #region 锁定盘点库位
            IList <WHArea> areas = session.CreateObjectQuery(@"
select 1 from WHArea where AreaCode in(
    select AreaCode from INVCheckWh where OrderNumber=?ordNumber
)")
                                   .Attach(typeof(WHArea)).Attach(typeof(INVCheckWh))
                                   .SetValue("?ordNumber", this._orderNumber, EntityManager.GetPropMapping(typeof(INVCheckWh), "OrderNumber").DbTypeInfo)
                                   .List <WHArea>();
            foreach (WHArea area in areas)
            {
                area.IsLocked = true;
                area.Update(session, "IsLocked");
            }
            #endregion

            #region 盘点单明细
            //TODO:
            //1. 明细记录数无法超过9999
            //2. 物料定义废弃料状态,盘点时不处理这些废弃料
            DbSession dbSession = session.DbSession as DbSession;
            Type      type = typeof(INVCheckLine), stoType = typeof(StockDetail);
            System.Text.StringBuilder sql = new System.Text.StringBuilder();
            sql.Append("INSERT INTO ")
            .Append(EntityManager.GetEntityMapping(type).TableName)
            .Append("(")
            .Append(EntityManager.GetPropMapping(type, "OrderNumber").ColumnName).Append(",")
            .Append(EntityManager.GetPropMapping(type, "LineNumber").ColumnName).Append(",")
            .Append(EntityManager.GetPropMapping(type, "SKUID").ColumnName).Append(",")
            .Append(EntityManager.GetPropMapping(type, "UnitID").ColumnName).Append(",")
            .Append(EntityManager.GetPropMapping(type, "LocationCode").ColumnName).Append(",")
            .Append(EntityManager.GetPropMapping(type, "AreaCode").ColumnName).Append(",")
            .Append(EntityManager.GetPropMapping(type, "SectionCode").ColumnName).Append(",")
            .Append(EntityManager.GetPropMapping(type, "BeforeQty").ColumnName).Append(",")
            .Append(EntityManager.GetPropMapping(type, "CurrentQty").ColumnName).Append(",")
            .Append(EntityManager.GetPropMapping(type, "StockDetailID").ColumnName)
            .Append(") SELECT '")
            .Append(this._orderNumber).Append("' AS ORDNUM,")
            .Append("TRIM(TO_CHAR(ROWNUM,'0000')) AS LINENUM,")
            .Append("T.SKU,0 AS UNIT,T.LOC_C,T.AREA_C,T.SEC_C,T.BEF_QTY,0 AS CUR_QTY,STODID ")
            .Append("FROM(SELECT ")
            .Append(EntityManager.GetPropMapping(stoType, "SKUID").ColumnName).Append(" AS SKU,")
            .Append(EntityManager.GetPropMapping(stoType, "LocationCode").ColumnName).Append(" AS LOC_C,")
            .Append(EntityManager.GetPropMapping(stoType, "AreaCode").ColumnName).Append(" AS AREA_C,")
            .Append(EntityManager.GetPropMapping(stoType, "SectionCode").ColumnName).Append(" AS SEC_C,")
            .Append(EntityManager.GetPropMapping(stoType, "StockQty").ColumnName).Append(" AS BEF_QTY,")
            .Append(EntityManager.GetPropMapping(stoType, "StockDetailID").ColumnName).Append(" AS STODID ")
            .Append("FROM ").Append(EntityManager.GetEntityMapping(stoType).TableName).Append(" ")
            .Append("WHERE ")
            .Append(EntityManager.GetPropMapping(stoType, "LocationCode").ColumnName).Append("='").Append(this._locationCode).Append("'")
            .Append(" AND ").Append(EntityManager.GetPropMapping(stoType, "AreaCode").ColumnName).Append(" IN(")
            .Append("SELECT ").Append(EntityManager.GetPropMapping(typeof(INVCheckWh), "AreaCode").ColumnName).Append(" ")
            .Append("FROM ").Append(EntityManager.GetEntityMapping(typeof(INVCheckWh)).TableName).Append(" ")
            .Append("WHERE ").Append(EntityManager.GetPropMapping(typeof(INVCheckWh), "OrderNumber").ColumnName).Append("='").Append(this._orderNumber).Append("'")
            .Append(") ")
            .Append("ORDER BY ")
            .Append(EntityManager.GetPropMapping(stoType, "AreaCode").ColumnName).Append(",")
            .Append(EntityManager.GetPropMapping(stoType, "SectionCode").ColumnName).Append(",")
            .Append(EntityManager.GetPropMapping(stoType, "SKUID").ColumnName)
            .Append(")T");
            dbSession.ExecuteNonQuery(sql.ToString());
            #endregion

            this._status = INVCheckStatus.Confirm;
            this.Update(session, "Status");
        }
Example #37
0
 public bool UpdateEntity(T entity)
 {
     CurrentDAL.UpdateEntity(entity);
     return(DbSession.SaveChanges() > 0);
 }
Example #38
0
        /// <summary>
        /// 请不要运行此Test项目,此Test仅仅是本人测试用。
        /// 另外有完整的Demo项目:http://git.oschina.net/ITdos/Dos.ORM.Demo
        /// </summary>
        /// <param name="args"></param>
        static void Main(string[] args)
        {
            //请不要运行此Test项目,此Test仅仅是本人测试用。
            //另外有完整的Demo项目:http://git.oschina.net/ITdos/Dos.ORM.Demo

            Console.WriteLine("请不要运行此Test项目,此Test仅仅是本人测试用。");
            Console.WriteLine("另外有完整的Demo项目:http://git.oschina.net/ITdos/Dos.ORM.Demo");
            //return;
            var db = new DbSession(DatabaseType.MySql, "Data Source=192.168.2.150;Database=OAA;User Id=root;Password=root;Convert Zero Datetime=True;Allow Zero Datetime=True;");

            db.RegisterSqlLogger(SqlOg);

            var model = db.From <BizHouse>().Select(d => new { d.All, Name2 = d.Name }).First();

            model.AttachAll();
            model.Id = Guid.NewGuid();
            var count = db.Insert(model);

            return;



            var a            = CmsNews._.Code != "111" && CmsNews._.Number != "222" && CmsNews._.AllCode != "333";
            var list20160429 = db.From <CmsNews>("A")
                               //.InnerJoin<CmsNews>((a, b) => a.Id == b.Id, "B")
                               .Where(a)
                               .Top(10)
                               .ToList();
            //db.Delete<CmsNews>(d => d.Id.In(1,2,3));
            var uptModeol = new CmsNews();

            uptModeol.Code    = "111";
            uptModeol.AllCode = "222";
            db.Update <CmsNews>(uptModeol, CmsNews._.Code == "111" && CmsNews._.Code == "222");

            #region 测试自连接

            //var ll = Db.MySql.From<TestTable>()
            //    .LeftJoin<TestTable>((a, b) => a.Id == b.Id)
            //    .ToList();

            #endregion

            #region 测试

            //var a20160426 = JSON.ToJSON(list);
            //var a201604262 = JsonConvert.SerializeObject(list);
            //list[0].Id = Guid.NewGuid();
            //list[0].AttachAll();
            //var a = list[0].GetModifyFields();
            //var b = list[1].GetModifyFields();
            //list[0].Id = Guid.NewGuid();
            //var aaaa = TestTableRepository.Insert(list[0]);

            #endregion

            #region 测试事务

            //var trans = Db.Context.BeginTransaction();
            //var mmmm = new TestTable1();
            //try
            //{
            //    trans.Delete(new List<TestTable1>());
            //    Db.Context.Delete(trans, new List<TestTable1>());
            //    trans.Update(mmmm);
            //    throw new Exception("xxxxxxxx");
            //    trans.Commit();
            //}
            //catch (Exception)
            //{
            //    trans.Rollback();
            //}
            //finally
            //{
            //    trans.Close();
            //}
            //var aaaaaa = GetAaa();
            //Aaa(new List<TestTable1>());
            //Aaa(trans, new List<TestTable1>());
            //Aaa(aaaaaa);

            #endregion

            #region 测试表名非dbo用户名

            //var list20160408 = Db.dbSql.From<CmsTitleTitlePartRecord>()
            //   // .InnerJoin<CmsTitleTitlePartRecord>((a,b)=>a.Id == b.Id)
            //  // .InnerJoin("", new WhereClip())
            //    .Select(d => new { d.Id, d.Title }).Where(d => d.Id == 8).ToList();
            //var list201604082 = Db.dbSql.Insert<CmsTitleTitlePartRecord>(new CmsTitleTitlePartRecord()
            //{
            //    Id = new Random().Next(1000,10000),
            //    Title = "测试"
            //});
            //var list2016040823 = Db.dbSql.Update<CmsTitleTitlePartRecord>(new CmsTitleTitlePartRecord()
            //{
            //    Id = 8,
            //    Title = "修改为测试"
            //});
            //var list20160414 = Db.dbSql.FromSql("select top 10 * from Cms_Settings_ContentPartFieldDefinitionRecord WHERE 1=2 AND Id=@id")
            //    .AddInParameter("@id",DbType.String, 999999).ToList<CmsTitleTitlePartRecord>();
            //var list21321321 = Db.Context.From<TestTable1>().Select(d => d.MobilePhone).ToList<string>();

            #endregion
        }
Example #39
0
 /// <summary>
 /// Ctor
 /// </summary>
 /// <param name="dbSession"></param>
 public DishRepository(DbSession dbSession)
 {
     _session = dbSession;
 }
Example #40
0
 private static DataTable GetTableSchema(DbSession session,string TableName)
 {
     var cmd = new Command( string.Format("select * from {0} where 1=2",TableName));
     return session.Provider.FillSchema (TableName, cmd);
 }
 public TaskPersisterSession OpenSession(DbSession ses)
 {
     throw new NotImplementedException();
 }