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); }
/// <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); }
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"]))); }
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()); }
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()); } } } }
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); }
public Task <Talk> Get(string talkId) { return(DbSession.LoadAsync <Talk>(talkId)); }
public Task <IList <Talk> > GetSubmissions(string eventId) { return(DbSession.Query <Talk>() .Where(s => s.EventId == eventId) .ToListAsync()); }
public MSSQLQueryOperator(DbSession session) { Session = session; }
/// <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)); }
/// <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))))); }
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); }
/// <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); } }
/// <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)); }
/// <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); } }
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)); }
public void Add(T entity) { dal.Add(entity); DbSession.SaveChange(); }
protected DbContext() { this._session = new DbSession(this); }
public void Update(T entity) { dal.Update(entity); DbSession.SaveChange(); }
/// <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 }
/// <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); }
public override void InnerOnConfiguring(DbContextOptionsBuilder optionsBuilder) { var loggerFactory = _serviceProvider.GetRequiredService <ILoggerFactory>(); optionsBuilder.UseMySql(DbSession.GetConnection <DbConnection>()).UseLoggerFactory(loggerFactory); }
public TaskPersisterSession OpenSession(DbSession ses) { SqlSession ss = ses as SqlSession; if (ss == null) throw new Exception("SqlSession required"); return new SqlProcessPersisterSession(TaskSerializer, ss); }
/// <summary> /// 获取参数名 /// </summary> /// <param name="session"></param> /// <returns></returns> public string GetParameterName(DbSession session) { return(session.GetParameterPrefix() + NickName); }
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"); }
public bool UpdateEntity(T entity) { CurrentDAL.UpdateEntity(entity); return(DbSession.SaveChanges() > 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 }
/// <summary> /// Ctor /// </summary> /// <param name="dbSession"></param> public DishRepository(DbSession dbSession) { _session = dbSession; }
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); }