From d8996ff97369c206e77f2478b225833340b04217 Mon Sep 17 00:00:00 2001 From: 2881099 <2881099@qq.com> Date: Tue, 8 Dec 2020 02:14:04 +0800 Subject: [PATCH] update test code #595 --- FreeSql.Tests/FreeSql.Tests/FreeSql.Tests.xml | 125 ++++++++++ FreeSql.Tests/FreeSql.Tests/Issues/595.cs | 230 ++++++++++++++++++ 2 files changed, 355 insertions(+) create mode 100644 FreeSql.Tests/FreeSql.Tests/Issues/595.cs diff --git a/FreeSql.Tests/FreeSql.Tests/FreeSql.Tests.xml b/FreeSql.Tests/FreeSql.Tests/FreeSql.Tests.xml index 9c3f348f..1343ee52 100644 --- a/FreeSql.Tests/FreeSql.Tests/FreeSql.Tests.xml +++ b/FreeSql.Tests/FreeSql.Tests/FreeSql.Tests.xml @@ -162,6 +162,131 @@ 角色排序 + + + 导入单位信息 + + + + + 主键 + + + + + 单位编码 + + + + + 单位名称 + + + + + 办公电话 + + + + + 工作店面 + + + + + 员工姓名 + + + + + 岗位名称 + + + + + 联系电话 + + + + + 公司地址 + + + + + 备注 + + + + + 公司所在省份 + + + + + 是否新能源,0是1否 + + + + + 公司所在市 + + + + + 所属大区 + + + + + 所属经理部 + + + + + 区域经理名字 + + + + + 区域经理手机 + + + + + 区域经理账号 + + + + + 创建日期 + + + + + 创建人账号 + + + + + 创建人 + + + + + 修改日期 + + + + + 修改人账号 + + + + + 修改人 + + 保存或添加,如果主键有值则尝试 Update,如果影响的行为 0 则尝试 Insert diff --git a/FreeSql.Tests/FreeSql.Tests/Issues/595.cs b/FreeSql.Tests/FreeSql.Tests/Issues/595.cs new file mode 100644 index 00000000..46d61468 --- /dev/null +++ b/FreeSql.Tests/FreeSql.Tests/Issues/595.cs @@ -0,0 +1,230 @@ +using FreeSql.DataAnnotations; +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.ComponentModel.DataAnnotations; +using System.Diagnostics; +using System.IO; +using System.Reflection; +using System.Text; +using System.Threading; +using Xunit; + +namespace FreeSql.Tests.Issues +{ + public class _595 + { + [Fact] + public void BatchInsert() + { + var fsql = g.oracle; + var input = JsonConvert.DeserializeObject(File.ReadAllText(@"d:/qq/json.txt")); + + using (var uowm = new UnitOfWorkManager(fsql)) + { + using (var uow = uowm.Begin()) + { + try + { + var _TXL_JXSDHRepository = fsql.GetRepository(); + _TXL_JXSDHRepository.UnitOfWork = uow; + + //先删除所有数据再导入 + var cs = _TXL_JXSDHRepository.Orm.Delete().Where("1=1").ExecuteAffrows(); + //接着批量插入数据 + var cs1 = _TXL_JXSDHRepository.Insert(input); + + uow.Commit(); + } + catch + { + uow.Rollback(); + throw; + } + } + } + } + + /// + /// 导入单位信息 + /// + [Table(Name = "TXL_JXSDH")] + public partial class TXL_JXSDH + { + + /// + /// 主键 + /// + + [JsonProperty, Column(StringLength = 50, IsPrimary = true)] + public string DHID { get; set; } + + + + /// + /// 单位编码 + /// + + [JsonProperty, Column(StringLength = 50)] + public string CCODE { get; set; } + + /// + /// 单位名称 + /// + + [JsonProperty, Column(StringLength = 50)] + public string CNAME { get; set; } + + /// + /// 办公电话 + /// + + [JsonProperty, Column(StringLength = 50)] + public string BGDH { get; set; } + + /// + /// 工作店面 + /// + + [JsonProperty, Column(StringLength = 50)] + public string GZDM { get; set; } + + /// + /// 员工姓名 + /// + + [JsonProperty, Column(StringLength = 50)] + public string YGXM { get; set; } + + /// + /// 岗位名称 + /// + + [JsonProperty, Column(StringLength = 50)] + public string GWMC { get; set; } + + /// + /// 联系电话 + /// + + [JsonProperty, Column(StringLength = 50)] + public string SJHM { get; set; } + + /// + /// 公司地址 + /// + + [JsonProperty, Column(DbType = "VARCHAR2(200 BYTE)")] + public string GSDZ { get; set; } + + + + + + /// + /// 备注 + /// + + [JsonProperty, Column(StringLength = 500)] + public string REMARK { get; set; } + + /// + /// 公司所在省份 + /// + [JsonProperty, Column(DbType = "VARCHAR2(50 BYTE)")] + public string SF { get; set; } + + /// + /// 是否新能源,0是1否 + /// + [JsonProperty, Column(DbType = "NUMBER(1)", CanInsert = false)] + public decimal? SFXNY { get; set; } = 1M; + + /// + /// 公司所在市 + /// + [JsonProperty, Column(DbType = "VARCHAR2(50 BYTE)")] + public string SHI { get; set; } + + + + /// + /// 所属大区 + /// + [JsonProperty, Column(DbType = "VARCHAR2(50 BYTE)")] + public string SSDQ { get; set; } + + /// + /// 所属经理部 + /// + [JsonProperty, Column(DbType = "VARCHAR2(50 BYTE)")] + public string SSJLB { get; set; } + + + + + + + + /// + /// 区域经理名字 + /// + [JsonProperty, Column(DbType = "VARCHAR2(50 BYTE)")] + public string YXJLMZ { get; set; } + + /// + /// 区域经理手机 + /// + [JsonProperty, Column(DbType = "VARCHAR2(50 BYTE)")] + public string YXJLSJ { get; set; } + + /// + /// 区域经理账号 + /// + [JsonProperty, Column(DbType = "VARCHAR2(50 BYTE)")] + public string YXJLZH { get; set; } + + + + + + /// + /// 创建日期 + /// + [JsonProperty, Column(DbType = "DATE", InsertValueSql = "sysdate", CanInsert = false)] + public DateTime? CREATEDATE { get; set; } + + /// + /// 创建人账号 + /// + [JsonProperty, Column(DbType = "VARCHAR2(30 BYTE)")] + public string CREATELOGINNAME { get; set; } + + /// + /// 创建人 + /// + [JsonProperty, Column(DbType = "VARCHAR2(30 BYTE)")] + public string CREATER { get; set; } + + + /// + /// 修改日期 + /// + [JsonProperty, Column(DbType = "DATE", CanInsert = false, ServerTime = DateTimeKind.Local)] + public DateTime? UPDATEDATE { get; set; } + + /// + /// 修改人账号 + /// + [JsonProperty, Column(DbType = "VARCHAR2(30 BYTE)")] + public string UPDATELOGINNAME { get; set; } + + /// + /// 修改人 + /// + [JsonProperty, Column(DbType = "VARCHAR2(30 BYTE)")] + public string UPDATER { get; set; } + } + } +}