mirror of
				https://github.com/nsnail/FreeSql.git
				synced 2025-11-04 09:15:27 +08:00 
			
		
		
		
	oracle test
This commit is contained in:
		@@ -1,4 +1,4 @@
 | 
				
			|||||||
using FreeSql.DataAnnotations;
 | 
					using FreeSql.DataAnnotations;
 | 
				
			||||||
using FreeSql;
 | 
					using FreeSql;
 | 
				
			||||||
using System;
 | 
					using System;
 | 
				
			||||||
using System.Collections.Generic;
 | 
					using System.Collections.Generic;
 | 
				
			||||||
@@ -41,9 +41,45 @@ namespace FreeSql.Tests {
 | 
				
			|||||||
			public int userstrId { get; set; }
 | 
								public int userstrId { get; set; }
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							class ServiceRequestNew {
 | 
				
			||||||
 | 
								public Guid id { get; set; }
 | 
				
			||||||
 | 
								public string acptStaffDeptId { get; set; }
 | 
				
			||||||
 | 
								public DateTime acptTime { get; set; }
 | 
				
			||||||
 | 
								public int crtWrkfmFlag { get; set; }
 | 
				
			||||||
 | 
								[Column(DbType = "nvarchar2(1500)")]
 | 
				
			||||||
 | 
								public string srvReqstCntt { get; set; }
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		[Fact]
 | 
							[Fact]
 | 
				
			||||||
		public void Test1() {
 | 
							public void Test1() {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								var testjson = @"[
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					""acptNumBelgCityName"":""泰州"",
 | 
				
			||||||
 | 
					""concPrsnName"":""常**"",
 | 
				
			||||||
 | 
					""srvReqstTypeName"":""家庭业务→网络质量→家庭宽带→自有宽带→功能使用→游戏过程中频繁掉线→全局流转"",
 | 
				
			||||||
 | 
					""srvReqstCntt"":""客户来电表示宽带使用( 所有)出现(频繁掉线不稳定) ,客户所在地址为(安装地址泰州地区靖江靖城街道工农路科技小区科技3区176号2栋2单元502),联系方式(具体联系方式),烦请协调处理。"",
 | 
				
			||||||
 | 
					""acptTime"":""2019-04-15 15:17:05"",
 | 
				
			||||||
 | 
					""acptStaffDeptId"":""0003002101010001000600020023""
 | 
				
			||||||
 | 
					},
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					""acptNumBelgCityName"":""苏州"",
 | 
				
			||||||
 | 
					""concPrsnName"":""龚**"",
 | 
				
			||||||
 | 
					""srvReqstTypeName"":""移动业务→基础服务→账/详单→全局流转→功能使用→账/详单信息不准确→全局流转"",
 | 
				
			||||||
 | 
					""srvReqstCntt"":""用户参与 2018年苏州任我用关怀活动 送的分钟数500分钟,说自己只使用了116分钟,但是我处查询到本月已经使用了306分钟\r\n,烦请处理"",
 | 
				
			||||||
 | 
					""acptTime"":""2019-04-15 15:12:05"",
 | 
				
			||||||
 | 
					""acptStaffDeptId"":""0003002101010001000600020023""
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					]";
 | 
				
			||||||
 | 
								//var dic = Newtonsoft.Json.JsonConvert.DeserializeObject<Dictionary<string, dynamic>>(testjson);
 | 
				
			||||||
 | 
								var reqs = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ServiceRequestNew>>(testjson);
 | 
				
			||||||
 | 
								reqs.ForEach(t => {
 | 
				
			||||||
 | 
										g.oracle.Insert(t).ExecuteAffrows();
 | 
				
			||||||
 | 
									
 | 
				
			||||||
 | 
								});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			var sql111 = g.sqlite.Select<TestUser>().AsTable((a, b) => "(select * from TestUser where stringid > 10)").Page(1, 10).ToSql();
 | 
								var sql111 = g.sqlite.Select<TestUser>().AsTable((a, b) => "(select * from TestUser where stringid > 10)").Page(1, 10).ToSql();
 | 
				
			||||||
			
 | 
								
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -84,16 +120,16 @@ namespace FreeSql.Tests {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			var order = g.mysql.Select<Order>().Where(a => a.Id == 1).ToOne(); //<EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | 
								var order = g.mysql.Select<Order>().Where(a => a.Id == 1).ToOne(); //查询订单表
 | 
				
			||||||
			if (order == null) {
 | 
								if (order == null) {
 | 
				
			||||||
				var orderId = g.mysql.Insert(new Order { }).ExecuteIdentity();
 | 
									var orderId = g.mysql.Insert(new Order { }).ExecuteIdentity();
 | 
				
			||||||
				order = g.mysql.Select<Order>(orderId).ToOne();
 | 
									order = g.mysql.Select<Order>(orderId).ToOne();
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
			
 | 
								
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			var orderDetail1 = order.OrderDetails; //<EFBFBD><EFBFBD>һ<EFBFBD>η<EFBFBD><EFBFBD>ʣ<EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD>
 | 
								var orderDetail1 = order.OrderDetails; //第一次访问,查询数据库
 | 
				
			||||||
			var orderDetail2 = order.OrderDetails; //<EFBFBD>ڶ<EFBFBD><EFBFBD>η<EFBFBD><EFBFBD>ʣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | 
								var orderDetail2 = order.OrderDetails; //第二次访问,不查
 | 
				
			||||||
			var order1 = orderDetail1.FirstOrDefault().Order; //<EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԣ<EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿ⣬<EFBFBD><EFBFBD>Ϊ OrderDetails <20><>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˸<EFBFBD><CBB8><EFBFBD><EFBFBD><EFBFBD>
 | 
								var order1 = orderDetail1.FirstOrDefault().Order; //访问导航属性,此时不查数据库,因为 OrderDetails 查询出来的时候已填充了该属性
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			var queryable = g.mysql.Queryable<TestInfo>().Where(a => a.Id == 1).ToList();
 | 
								var queryable = g.mysql.Queryable<TestInfo>().Where(a => a.Id == 1).ToList();
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -196,7 +196,7 @@ where owner={{0}} and table_name={{1}}".FormatOracleSQL(tboldname ?? tbname);
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
				//创建临时表,数据导进临时表,然后删除原表,将临时表改名为原表名
 | 
									//创建临时表,数据导进临时表,然后删除原表,将临时表改名为原表名
 | 
				
			||||||
				var tablename = tboldname == null ? _commonUtils.QuoteSqlName($"{tbname[0]}.{tbname[1]}") : _commonUtils.QuoteSqlName($"{tboldname[0]}.{tboldname[1]}");
 | 
									var tablename = tboldname == null ? _commonUtils.QuoteSqlName($"{tbname[0]}.{tbname[1]}") : _commonUtils.QuoteSqlName($"{tboldname[0]}.{tboldname[1]}");
 | 
				
			||||||
				var tmptablename = _commonUtils.QuoteSqlName($"{tbname[0]}.FreeSqlTmp_{tbname[1]}");
 | 
									var tmptablename = _commonUtils.QuoteSqlName($"{tbname[0]}.FTmp_{tbname[1]}");
 | 
				
			||||||
				//创建临时表
 | 
									//创建临时表
 | 
				
			||||||
				sb.Append("execute immediate 'CREATE TABLE ").Append(tmptablename).Append(" (");
 | 
									sb.Append("execute immediate 'CREATE TABLE ").Append(tmptablename).Append(" (");
 | 
				
			||||||
				foreach (var tbcol in tb.Columns.Values) {
 | 
									foreach (var tbcol in tb.Columns.Values) {
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user