oracle test

This commit is contained in:
28810 2019-04-15 18:28:22 +08:00
parent 9245909d79
commit 66ec123d8a
2 changed files with 42 additions and 6 deletions

View File

@ -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"":""使 线 317622502"",
""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(); //查询订单表 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; //第一次访问,查询数据库 var orderDetail1 = order.OrderDetails; //第一次访问,查询数据库
var orderDetail2 = order.OrderDetails; //第二次访问,不查 var orderDetail2 = order.OrderDetails; //第二次访问,不查
var order1 = orderDetail1.FirstOrDefault().Order; //访问导航属性,此时不查数据库,因为 OrderDetails 查询出来的时候已填充了该属性 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();

View File

@ -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) {